私はPHPで匿名関数をいじくり回していましたが、それらは外部の変数に到達しないようです。この問題を回避する方法はありますか?
例:
$variable = "nothing";
functionName(someArgument, function() {
$variable = "something";
});
echo $variable; //output: "nothing"
これは「何も」出力しません。無名関数が$variable
にアクセスできる方法はありますか?
はい、 クロージャを使用 :
functionName(someArgument, function() use( &$variable) {
$variable = "something";
});
$variable
を変更し、匿名関数のスコープ外で変更した値を取得できるようにするには、&
を使用してクロージャーで参照する必要があることに注意してください。