ホームページ >バックエンド開発 >PHPの問題 >なぜphpには匿名関数が必要なのでしょうか?

なぜphpには匿名関数が必要なのでしょうか?

(*-*)浩
(*-*)浩オリジナル
2019-09-12 13:31:463169ブラウズ

匿名関数はクロージャとも呼ばれ、名前を指定せずに関数を一時的に作成できます。コールバック関数の引数として最も一般的に使用される値。もちろん、他のアプリケーションもあります。

なぜphpには匿名関数が必要なのでしょうか?

#匿名関数は現在、Closure クラスを通じて実装されています。

匿名関数の例(推奨学習: PHP プログラミング入門から習熟まで )

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
    return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>

クロージャー関数は変数の値としても使用できます。 PHP は、この式を組み込みクラス Closure のオブジェクト インスタンスに自動的に変換します。クロージャ オブジェクトを変数に代入する方法は、通常の変数代入の構文と同じで、最後にセミコロンを追加する必要があります。

#匿名関数の変数代入例

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>

クロージャは親スコープから変数を継承できます。このような変数は、use language 構造を使用して渡す必要があります。 PHP 7.1 以降、スーパーグローバル、$this、またはパラメーターと同じ名前を持つ変数を渡すことはできません。

以上がなぜphpには匿名関数が必要なのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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