ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数 パラメータ数可変関数

PHP関数 パラメータ数可変関数

伊谢尔伦
伊谢尔伦オリジナル
2017-05-11 13:58:213581ブラウズ

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 プログラミングの入門から習得まで


3.

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

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

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