四季花海
function() use($data){}更优雅一些,但需要注意的是继承过来的$data值与这个闭包声明的上下文有关例如:
[1]
$data = 1;
function() use($data){}//此时继承的变量值为1
[2]
$data = 1;
function() use($data){}
$data = 2;
此时再调用闭包函数,$data的取值为其声明时的上下文的值,值为1
$data = 1;
$x = function() use ($data){
var_dump($data);
exit;
};
$data = 2;
function ttt($a)
{
$a();
}
ttt($x);