コールバック関数内の外部変数へのアクセス
PHP では、多くの場合、関数の外部で計算される変数と組み合わせてコールバック関数を利用する必要があります。範囲。このシナリオでは次のような疑問が生じます: コールバック内でそのような変数にアクセスすることは可能ですか?
キーワードとアロー関数の使用
幸いなことに、PHP は次の使用を通じて解決策を提供します。キーワード。コールバック定義の前に use を付けることで、親スコープから変数を継承できます。例:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $avg = array_sum($arr) / count($arr); $callback = function($val) use ($avg) { return $val < $avg; }; return array_filter($arr, $callback);
PHP バージョン 7.4 以降の場合、アロー関数はより洗練されたアプローチを提供します。アロー関数は外部変数を自動的にキャプチャします:
$callback = fn($val) => $val < $avg;
array_filter 呼び出し内で、アロー関数を直接利用できます:
return array_filter($arr, fn($val) => $val < $avg);
use キーワードまたはアロー関数を活用することで、簡単になります。 PHP のコールバック関数内の外部変数にアクセスします。
以上がPHP コールバック関数内の外部変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。