匿名関数はクロージャとも呼ばれ、名前を指定せずに関数を一時的に作成できます。コールバック関数の引数として最も一般的に使用される値。もちろん、他のアプリケーションもあります。
#匿名関数は現在、Closure クラスを通じて実装されています。
匿名関数の例(推奨学習: PHP プログラミング入門から習熟まで )
<?php echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]); }, 'hello-world'); // 输出 helloWorld ?>クロージャー関数は変数の値としても使用できます。 PHP は、この式を組み込みクラス Closure のオブジェクト インスタンスに自動的に変換します。クロージャ オブジェクトを変数に代入する方法は、通常の変数代入の構文と同じで、最後にセミコロンを追加する必要があります。
#匿名関数の変数代入例
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP'); ?>クロージャは親スコープから変数を継承できます。このような変数は、use language 構造を使用して渡す必要があります。 PHP 7.1 以降、スーパーグローバル、$this、またはパラメーターと同じ名前を持つ変数を渡すことはできません。
以上がなぜphpには匿名関数が必要なのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。