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');