クロージャ関数: コールバック関数としてよく使用される、名前のない関数を一時的に作成します。 (推奨学習: PHP ビデオ チュートリアル )
わかりやすく言うと、子関数は親関数のローカル変数を使用できます。この動作はクロージャと呼ばれます。
匿名関数の割り当て
$demo=function($str){ echo $str; } $demo('hello,world');
クロージャは親スコープから変数を継承でき、このタイプの変数はすべて use 言語構造を使用して渡す必要があります。
$message='hello'; $example=function() use ($message){ var_dump($message); }; echo $example();
クロージャの利点:
関数内の変数を読み取ることができます;
これらの変数は常にメモリ内に存在し、呼び出しの完了後にガベージ コレクション メカニズムによってリサイクルされないようにします。
クロージャの欠点:
よく言われるように、その逆は真です。クロージャは関数内の変数をメモリに保存し、大量のメモリを消費するため、クロージャを乱用することはできません。解決策は、関数を終了する前に未使用のローカル変数を削除することです。
以上がPHPクロージャの長所と短所の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。