php匿名函数中的variables

我正在玩PHP中的匿名函数,并意识到他们似乎没有达到他们之外的variables。 有没有办法解决这个问题?

例:

$variable = "nothing"; functionName(someArgument, function() { $variable = "something"; }); echo $variable; 

将输出:“没有”。 有什么办法,匿名函数可以访问$variables?

是的, 使用closures :

 functionName(someArgument, function() use( &$variable) { $variable = "something"; }); 

请注意,为了能够修改$variable并检索匿名函数范围之外的修改值,必须使用&引用该闭包。