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