PHP 関数では、関数のパラメーター は、関数を適切に適用する方法、または関数の実行動作を制御する方法を決定する基準です。 パラメーター入力を設定して適用するには、さまざまな方法があります。さまざまなパラメーターを使用して関数を宣言し、さまざまな形式のパラメーター入力を使用して関数を正常に呼び出す方法を学ぶことが、関数を学習する鍵となります。以前、さまざまな形式の PHP 関数を 宣言して適用する方法 を紹介しました。このセクションでは、関数パラメーターの特性に基づいて、正規パラメーター関数と疑似型パラメーター関数の 2 つのパラメーター タイプを紹介します。
phpの通常のパラメータ関数一般的なパラメータ関数、つまり、実パラメータと仮パラメータの数が同じであり、型が同じである必要があります。 C言語やJAVAなどの型付き言語も同様です。 このタイプの関数は、柔軟性があまり高くなく、強力なクラス言語のような厳密な要件があるため、呼び出すのが簡単です (パラメーターの数は固定されており、各パラメーターの型も固定されています)。
通常のパラメータの関数形式の記述は次のような形式になります:
example(name, age, height) // 常规参数的函数格式
PHP では、このような関数を宣言すると、弱い型付け言語である PHP の利点が活かせなくなります。たとえば、上記の通常パラメータの関数構文形式の例では、example という名前の関数が宣言されており、関数の実行後に文字列型の値が返されます。この関数には 3 つのパラメータがあり、呼び出し時に渡されるパラメータの数と順序は一貫している必要があり、最初のパラメータは文字列型、2 番目のパラメータは整数型、3 番目のパラメータは倍精度型である必要があります。たとえば、カスタム関数で 2 つの整数の二乗和を求める関数は、通常のパラメーターを持つ関数であり、2 つの整数パラメーターが必要です。このタイプのシステム関数も数多くあります。通常のパラメーターを使用するシステム関数には、次のようなものがあります。
string chr(int ascii) // 必须使用一个整数作为参数 float ceil(float value) // 必须使用一个浮点数作为参数 array array_combine(array keys, array values) // 必须使用两个数组作为参数 int strnatcmp (string str1, string str2) // 必须使用两个字符串作为参数 string implode(string glue, array pieces) // 第一个参数必须是字符串,第二个参数必须是数组 string readdir(resource dir_handle) // 必须使用一个资源类型作为参数
疑似型パラメーターを使用する PHP 関数PHP は、弱い型付けを必要としないだけではありません。変数を宣言するときに型を指定します。関数を宣言するときにパラメーターを指定する必要はないため、PHP の関数の各パラメーターには任意の型の値を渡すことができます。弱い型付けは PHP 言語の最大の特徴であるため、関数を宣言するとき、同じパラメーターは任意の型の値を受け入れることができます。 C や JAVA などの厳密に型指定されたプログラミング言語では、配列をソートするメソッドを宣言したい場合、配列の型ごとにソート メソッドを記述する必要があります。これがいわゆる関数のオーバーロードです。 PHP には弱い型パラメータのオーバーロードの概念がありません。 PHP では、さまざまな型の配列を並べ替える場合、関数を宣言するだけで十分であるため、疑似型パラメータを持つ関数は、PHP での関数適用の最も一般的な形式です。
疑似型パラメーターの関数形式の説明は次のようになります:
mixed funName (mixed $args) // 在参数列表中出现类型使用 mixed 描述的参数 number funName (number $args) // 在参数列表中出现类型使用 number 描述的参数
PHP の疑似型には、
mixed、number、callbackが含まれます。関数を宣言するときに、パラメーターが複数の異なる値 (必ずしもすべての型ではない) を受け入れることができる場合、関数のドキュメントでmixedを使用してパラメーターの型をマークできます。パラメータを整数または浮動小数点タイプに指定すると、数値を使用してパラメータをマークできます。疑似型パラメータを渡すことができるパラメータに加えて、関数の戻り値は、empty()、pow() など、さまざまなパラメータの型に応じてさまざまな型の値を返すこともできます。 たとえば、
call_user_func()関数は、PHP の組み込み関数であるユーザー定義関数をパラメーターとして受け取ることができます。コールバック関数は関数だけでなく、オブジェクトのメソッドや静的クラスのメソッドも使用できます。 PHP 関数は関数名文字列として渡され、任意の組み込み関数またはユーザー定義関数を渡すことができます。
ここに簡単な例を示します:<?php
$data = array("name"=>"callback" , "value"=>"test");
$rs1 = http_build_query($data); //直接调用php函数
$rs2 = call_user_func("http_build_query",$data); //使用回调函数
echo $rs1; //name=callback&value=test
echo "<br />";
echo $rs2; //name=callback&value=test
?>
注: ここで注意する必要があるのは、パラメーター 1 が function_exists() を通じて true を返すことができる使用可能な関数である必要があることです。ここで注意していただきたいのは、isset、empty、is_null、です。など。一般的に使用される関数は、実際には演算子としてカウントされません。
【おすすめ関連チュートリアル】
1.「
php.cn Dugu Jiijian (4) - PHPビデオチュートリアルPHPプログラミングの入門からマスターまでの完全なビデオチュートリアルphp実践的なビデオチュートリアル以上がPHP関数の正規パラメータ関数と擬似型パラメータ関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。