匿名功能
匿名函式只是一個沒有名稱的函式。
// Anonymous function
function() {
return "Hello World!";
};
在 PHP 中,匿名函式被視為表示式,因此,它應以分號 ;
結束。
應將匿名函式分配給變數。
// Anonymous function assigned to a variable
$sayHello = function($name) {
return "Hello $name!";
};
print $sayHello('John'); // Hello John
或者它應該作為另一個函式的引數傳遞。
$users = [
['name' => 'Alice', 'age' => 20],
['name' => 'Bobby', 'age' => 22],
['name' => 'Carol', 'age' => 17]
];
// Map function applying anonymous function
$userName = array_map(function($user) {
return $user['name'];
}, $users);
print_r($usersName); // ['Alice', 'Bobby', 'Carol']
甚至從其他功能返回。
自執行匿名函式:
// For PHP 7.x
(function () {
echo "Hello world!";
})();
// For PHP 5.x
call_user_func(function () {
echo "Hello world!";
});
將引數傳遞給自執行的匿名函式:
// For PHP 7.x
(function ($name) {
echo "Hello $name!";
})('John');
// For PHP 5.x
call_user_func(function ($name) {
echo "Hello $name!";
}, 'John');