php匿名函数中的variables
我正在玩PHP中的匿名函数,并意识到他们似乎没有达到他们之外的variables。 有没有办法解决这个问题?
例:
$variable = "nothing"; functionName(someArgument, function() { $variable = "something"; }); echo $variable;
将输出:“没有”。 有什么办法,匿名函数可以访问$variables?
是的, 使用closures :
functionName(someArgument, function() use( &$variable) { $variable = "something"; });
请注意,为了能够修改$variable
并检索匿名函数范围之外的修改值,必须使用&
引用该闭包。