匿名函数中的PHP变量

我在玩PHP中的匿名函数,并意识到它们似乎并没有到达它们之外的变量。有什么办法可以解决这个问题?


例:


$variable = "nothing";


functionName($someArgument, function() {

  $variable = "something";

});


echo $variable;  //output: "nothing"

这将输出“无”。匿名函数有什么方法可以访问$variable?


斯蒂芬大帝
浏览 407回答 2
2回答

偶然的你

是的,使用闭包:functionName($someArgument, function() use(&$variable) {  $variable = "something";});请注意,为了使您能够$variable在匿名函数范围之外修改和检索修改后的值,必须在闭包中使用对其进行引用&。

慕哥6287543

对于那些可能不知道的人的快速注释:您可以&在传递对象时将其删除,因为它们始终是通过引用传递的……并且不要忘记您的类型提示:)例如:function() use (PDO $pdo) 
打开App,查看更多内容
随时随地看视频慕课网APP