本文實例講述了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');