php use在匿名函数的使用
//写法一
function test() { $param2 = 'every'; // 返回一个匿名函数 return function ($param1) use ($param2) { // use子句 让匿名函数使用其作用域的变量 $param2 .= 'one'; print $param1 . ' ' . $param2; }; } $anonymous_func = test(); //函数赋值给变量 return function $anonymous_func('hello'); //调用匿名函数
/**
hello everyone
通过use进行传参
**/
//写法二
function test()
{
$param1 = 'bbbbb';
$param2 = 'everyone';
$func = function ($param1) use ($param2) {
// use子句 让匿名函数使用其父作用域的变量
print $param1 . ' ' . $param2;
};
$param2 = 'everybody';
return $func($param1); //调用匿名函数
}
test();
use使用引用传参
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
**/