本文实例讲述了PHP匿名函数和use子句用法。分享给大家供大家参考,具体如下:
下面方法输出的是hello world
$param1和$param2是闭包变量
function test(){ $param2 = 'every'; // 返回一个匿名函数 return function ($param1) use ($param2) { // use子句 让匿名函数使用其作用域的变量 $param2 .= 'one'; print $param1 . ' ' . $param2; };}$anonymous_func = test();$anonymous_func('hello');
下面的方式 输出hello everyone
function test(){ $param2 = 'everyone'; $func = function ($param1) use ($param2) { // use子句 让匿名函数使用其父作用域的变量 print $param1 . ' ' . $param2; }; $param2 = 'everybody'; return $func;}$anonymous_func = test();$anonymous_func('hello');
下面的方式 输出hello everybody
$param2中多了一个引用
function test(){ $param2 = 'everyone'; $func = function ($param1) use (&$param2) { // use子句 让匿名函数使用其父作用域的变量 print $param1 . ' ' . $param2; }; $param2 = 'everybody'; return $func;}$anonymous_func = test();$anonymous_func('hello');