ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数 パラメータ数可変関数
PHPの変数パラメータ関数の紹介
デフォルトパラメータの使用は、実パラメータの数が仮パラメータよりも少ない状況に適しており、可変パラメータリストは実パラメータの数が多い状況に適しています。仮パラメータよりも。渡されたパラメータが関数内で使用されなければ意味がありません。
前のセクションでは、phpのデフォルトパラメータ関数を紹介しました。このセクションでは、可変数のパラメータを持つphp関数を紹介します。
可変パラメータを持つ関数形式の説明は次のとおりです:
mixed funName (string arg1 [, string ...] ) //在参数列表中出现使用 ... 描述的参数
通常、ユーザーが関数を定義する場合、設定するパラメータの数は制限されています。関数で任意の数のパラメーターを受け入れたい場合は、関数内で PHP システムによって提供される func_get_args() 関数を使用する必要があります。この関数は、スクリプト関数に渡されたすべてのパラメーターを配列として返します。
引数リストの値を出力する関数を宣言します。宣言されたパラメーター リストはありませんが、任意の数とタイプのパラメーター値を渡すことができます。まず、スクリプト関数に渡されたすべてのパラメータを配列として返し、次に for ループを使用して配列を走査し、関数に渡された各パラメータをそれぞれ出力し、最後にこの関数を呼び出して複数のパラメータを入力します。
サンプルコードは以下の通りです:
<?php function more_args(){ $args = func_get_args(); //将所有传递给脚本的参数当做一个数组返回 for($i = 0; $i < count($args); $i++){ //使用for循环 echo "第".$i."个参数:".$args[$i]."<br>"; //分别输出传入函数的每个参数 } } more_args(1, 2, 3); //调用函数并输入多个参数 ?>
出力結果は以下の通りです:
0番目のパラメータ: 1
1番目のパラメータ: 2
2番目のパラメータ: 3
さらに、また、 func_num_args() 関数を使用してパラメータの合計数を返したり、 func_get_args() 関数を使用して数値パラメータを受け入れ、指定されたパラメータを返すこともできます。ここでは、前の例で配列として返された $args としてスクリプトに渡されたパラメータをすべて削除し、次に func_num_args() 関数を使用してパラメータの合計数を計算し、次に func_get_arg を使用して渡された各パラメータをループアウトする必要があります。関数 。最後にこの関数を呼び出し、複数のパラメータを入力します。
修正したサンプルコードは以下の通りです:
<?php function more_args(){ for($i = 0; $i <func_num_args(); $i++){ //使用for循环 echo "第".$i."个参数:".func_get_arg($i)."<br>"; //分别输出传入函数的每个参数 } } more_args(1, 2, 3); //调用函数并输入多个参数 ?>
出力結果は以下の通りです:
0番目のパラメータ: 1
1番目のパラメータ: 2
2番目のパラメータ: 3
上記2 つの例は同じ関数を実装しており、どちらも関数内で任意の数のパラメーター リストを取得し、それらを関数内で使用できます。
上記の例から、PHP 関数のパラメーターの可変数は次の形式であることがわかります:
func_num_args パラメーターの総数を返します
func_get_arg パラメーター リスト内の項目を返します
func_get_args 関数パラメータのリストを含む配列を返します
【おすすめ関連チュートリアル】
1.「php.cn Dugu Jiijian (4) - PHPビデオチュートリアル」
2. ビデオチュートリアルの完全なセット。 PHP プログラミングの入門から習得まで php 実践ビデオチュートリアル以上がPHP関数 パラメータ数可変関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。