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

PHPの匿名関数パラメータ内の外部変数にアクセスするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-14 21:32:02
オリジナル
1033 人が閲覧しました

How to Access External Variables Within Anonymous Function Parameters in PHP?

匿名関数パラメータへの外部変数の組み込み

プログラミングでは、関数のスコープ外で定義された変数にアクセスすることが必要になることがよくあります。匿名関数をパラメータとして利用する場合、このタスクは困難になる可能性があります。

次のシナリオを考えてみましょう。関数 fetch() を使用してデータベース行を処理し、それらをパラメータとして匿名関数に渡します。各行には $r['title'] を使用してアクセスできますが、これらのタイトルを変数に連結する必要があります。

グローバル修飾子を使用できますが、これは洗練されたソリューションではありません。より適切なアプローチは、次のコードに示すように use キーワードを使用することです。

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});
ログイン後にコピー

use キーワードは、外部変数の結果を参照 (&$result) によって取得し、匿名関数内で使用できるようにします。 .

ただし、use() パラメータは早期バインディングを示すことに注意してください。これは、呼び出し (遅延バインディング) の時点ではなく、ラムダ関数の宣言の時点で変数の値を使用することを意味します。

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

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