PHP の関数は非常に単純に見えますが、実際には非常に強力です。関数名が固定されているかどうかに応じて、次の 3 つのカテゴリに分類できます。
1. 固定名を持つ関数:
このタイプの関数。とも呼ばれます: 通常の関数は、最もよく知られたタイプでもあるキーワード function を使用して直接作成されます。 例:
<?php //1按名调用:最直接和普通的方式echo '1.用function关键字创建常规函数,按函数名称调用:<br>'; function add($a, $b){return $a.'+'.$b.'='.($a+$b);}; echo add(5,6); echo '<hr>';
実行の戻り値:
1.用function关键字创建常规函数,按函数名称调用: 5+6=11
2. 名前が動的に設定された関数:
このタイプの関数には多くの機能があります。名前 (匿名関数、変数関数、変数関数、クロージャー関数など) は実際にはすべて同じです。名前に怯える必要はありません。
この動的に設定された関数は、この関数を参照する変数名を使用して呼び出されるため、コールバック関数での使用に非常に適しています~~
ここでは教育目的で、それを匿名関数と呼びます。
匿名関数を作成する方法は主に 2 つあり、教科書によっては別々に説明されているため、ここでは分けて説明します。
1. 作成方法 1: PHP の組み込み関数 create_function (パラメーター リスト、関数本体) を使用して完成します。これらの 2 つのパラメーターは引用符で囲む必要があります。 PHP では、プログラミング言語を作成します~~
//2.用系统函数create_function()来创建一个匿名函数/可变函数/变量函数/闭包函数echo '2.用内置create_function()函数创建匿名函数,用变量名调用:<br>'; $func1 = create_function('$a,$b','return $a.\'+\'.$b.\'=\'.($a+$b);'); echo $func1(5,6); echo '<hr>';
実行 return:
2.用内置create_function()函数创建匿名函数,用变量名调用: 5+6=11
2. 作成方法 2: function キーワードを使用して作成します。違いは、値の位置 (等号「=」の右側) に表示されることです。作成した関数全体を変数に割り当てます。
//3匿名函数:也叫闭包函数,将函数做为值赋给一个变量echo '3.用function关键字创建匿名函数,用变量名调用:<br>'; $func2 = function ($a, $b){return $a.'+'.$b.'='.($a+$b);}; echo $func2(5,6); echo '<hr>';
実行は次を返します:
3.用function关键字创建匿名函数,用变量名调用: 5+6=11
3. 関数名はありません。作成後、パラメーターを直接渡して実行を呼び出します。
このタイプの関数は匿名に似ています。関数ですが、より大まかに言えば、作成後に括弧で囲み、パラメータを渡してから呼び出すだけです。したがって、このタイプの関数は名前をまったく必要とせず、1 回限りの関数です。使い捨て品と同様に、使用後は捨ててください。
//4自执行函数:创建完立即执行不必明示调用 echo '4.用function关键字创建匿名函数,然后直接传参调用执行:<br>'; echo (function ($a,$b){return $a.'+'.$b.'='.($a+$b);})(5,6); //自运行的匿名函数
実行の戻り値:
4.用function关键字创建匿名函数,然后直接传参调用执行: 5+6=11
概要 (非常に重要、必ずお読みください):
PHP では、関数の使用は依然として非常に柔軟ですが、最終的には、何があっても、関数は依然としてプロセスです。同時に、ユーザーがその存在とその価値を認識できるように、戻り値が存在する必要があります。
つまり、関数は常に値として使用されるため、等号「=」の左側に記述することはできません。これが関数と言語構造の最大の違いです。
たとえば、私たちはよくこう言います: echo() と list() は、等号の左側に配置でき、代入を受け入れることができるため、関数のように見えますが、関数ではなく言語構造です。しかし、機能は動作しません。この記事で機能についてより深く理解していただければ幸いです~~
以上がPHP関数の種類と呼び出し方法が判明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。