ホームページ  >  記事  >  バックエンド開発  >  PHPの匿名関数内の外部変数にアクセスするにはどうすればよいですか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 12:36:02779ブラウズ

How to Access External Variables within Anonymous Functions in PHP?

匿名関数をパラメータとして使用した外部変数へのアクセス

問題ステートメント:

データベースを処理する再利用可能な関数フェッチがあります。行を管理し、無名関数を使用して各行に対して操作を実行できます。ただし、すべての行の特定のフィールドを匿名関数内の単一の変数に連結する必要があります。

解決策:

匿名関数内の外部変数にアクセスするには関数では、use キーワードを使用できます。これにより、親スコープから変数が継承されます。

例:

$result = '';
fetch("SELECT title FROM tbl", function($r) use (&$result) {
   $result .= $r['title'];
});

仕組み:

  • use キーワードは匿名関数のパラメータ リスト内で使用されます。
  • これは宣言します変数 $result は親スコープから継承される必要があります。
  • use ステートメントで & 記号を使用すると、変数は参照によって渡され、匿名関数がその値を変更できるようになります。

注:

  • 使用変数は早期バインドされており、変数の値を次の時点で使用します。匿名関数が呼び出されたときではなく、宣言されたときです。
  • 匿名関数の定義後に変数の値が変更されると、予期しない動作が発生する可能性があります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。