ホームページ  >  記事  >  バックエンド開発  >  PHP関数の正規パラメータ関数と擬似型パラメータ関数

PHP関数の正規パラメータ関数と擬似型パラメータ関数

伊谢尔伦
伊谢尔伦オリジナル
2017-05-10 11:24:382308ブラウズ

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ビデオチュートリアル

2.

PHPプログラミングの入門からマスターまでの完全なビデオチュートリアル


3. .

php実践的なビデオチュートリアル

以上がPHP関数の正規パラメータ関数と擬似型パラメータ関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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