ホームページ > バックエンド開発 > PHPチュートリアル > PHP でコールバック関数のスコープ外の変数にアクセスするにはどうすればよいですか?

PHP でコールバック関数のスコープ外の変数にアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-19 14:38:10
オリジナル
561 人が閲覧しました

How Can I Access Variables Outside a Callback Function's Scope in PHP?

スコープ外の変数を利用するコールバック関数

PHP では、多くの場合、イミディエイトの外部で定義されたデータを操作するコールバック関数を利用することが望ましいです。範囲。これを実現するには、use キーワードを使用してこれらの変数を明示的にインポートできます。

この例では、配列 $arr が初期化され、その平均 ($avg) が計算されます。ただし、匿名コールバック関数 $callback 内では、$avg が定義されていないため問題が発生します。

これを解決するには、use キーワードを活用できます。

$callback = function($val) use ($avg) { return $val < $avg; };
ログイン後にコピー

use を追加することで、 ($avg)、親スコープの $avg 変数がコールバック関数にインポートされ、計算で使用できるようになります。

別のアプローチも利用可能PHP 7.4 以降では、アロー関数が使用されます。

$callback = fn($val) => $val < $avg;
ログイン後にコピー

アロー関数は外部変数を自動的にキャプチャし、プロセスを合理化します。あるいは、さらに単純化して、array_filter 呼び出し内にコールバック定義を直接含めることもできます。

return array_filter($arr, fn($val) => $val < $avg);
ログイン後にコピー

これは、コールバック関数の外部で計算される変数を使用する必要性に対処する PHP の多用途性を示しています。

以上がPHP でコールバック関数のスコープ外の変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート