上級 › クロージャの use($var) は値をコピーする(参照ではない) › パターン4
クロージャの use($var) は値をコピーする(参照ではない)
無名関数でuse($var)と書くと、その時点の$varの値がコピーされてクロージャに閉じ込められます。
1 <?php 2 $score = 0; 3 $addPoint = function($n) use (__________) { ^ 4 $score += $n; 5 return $score; 6 }; 7 echo $addPoint(10); 8 echo "\n" . $score;
出力: 10
0期待:
10
10 (エラーにはなりません)
空欄を埋めて実行を通す
use ($score)は定義時点の値をコピーするだけです。クロージャの中で加算しても外側の$scoreには影響しません。
次の問題