匿名函数中的PHP变量

时间:2012-07-10 19:30:08

标签: php function variables global-variables anonymous

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

示例:

$variable = "nothing";

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

echo $variable;  //output: "nothing"

这将输出“无”。有没有办法让匿名函数可以访问$variable

1 个答案:

答案 0 :(得分:223)

是的,use a closure

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

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