phpで無名関数に外から値を渡したい時のメモです。
今まで無名関数に外部で使われている変数を渡すときは次のように書いてました。
$price = 1000; $func = function(){ global $price; echo $price; }; $func();
結果は「1000」が表示されます。
これしか方法ないのかと思っていたのですが、最近こんな方法を知りました。
$price = 1000; $func = function() use($price){ echo $price; }; $func();
こちらも結果は「1000」が表示されます。
後者の方が無名関数に値を渡す正しいやりかたのようですね。
これからはこちらの方法を使いたいと思います。