PHP 匿名功能
示例
匿名函数只是没有名称的函数。
//匿名功能
function() {
return "你好,世界!";
};在PHP中,匿名函数被视为表达式,因此,应以分号结尾;。
应该将匿名函数分配给变量。
//匿名功能 assigned to a variable
$sayHello = function($name) {
return "Hello $name!";
};
print $sayHello('John'); //你好约翰或者应将其作为另一个函数的参数传递。
$users = [
['name' => 'Alice', 'age' => 20],
['name' => 'Bobby', 'age' => 22],
['name' => 'Carol', 'age' => 17]
];
//映射功能应用匿名功能
$userName = array_map(function($user) {
return $user['name'];
}, $users);
print_r($usersName); //['Alice','Bobby','Carol']甚至从另一个函数返回。
自执行匿名功能:
//对于PHP7.x
(function () {
echo "你好,世界!";
})();
//对于PHP5.x
call_user_func(function () {
echo "你好,世界!";
});将参数传递给自动执行的匿名函数:
//对于PHP7.x
(function ($name) {
echo "Hello $name!";
})('John');
//对于PHP5.x
call_user_func(function ($name) {
echo "Hello $name!";
}, 'John');