この記事では、PHP の 3 つの関数 func_get_args()、func_get_arg()、func_num_args() の使い方と違いをまとめて比較しますので、参考にしてください。
今日はこれらの組み込み関数を使用したので、参考のために記録しておきます
func_num_args() 呼び出し元の関数に渡されるパラメータの数を返します。型は整数です
func_get_arg() 指定されたパラメータ値を返します
func_get_args() すべてのパラメータの値を返します。型は配列です
func_get_args
関数パラメータリストを含む配列を返します
説明
配列 func_get_args( void )
この関数は配列を返します。配列の各要素は、現在のユーザー定義関数の各パラメーターに相当します。 func_get_args() は、この関数が関数定義外から呼び出された場合に警告を生成します。
func_get_arg
関数パラメータリストから指定されたパラメータを返します
説明
混合 func_get_arg( int arg_num )
関数を定義するパラメータ リストの arg_numth パラメータを返します。パラメータは 0 から始まります。また、関数定義の外でこの関数を呼び出すと警告が生成され、arg_num が関数によって実際に渡されるパラメーターの数よりも大きい場合にも警告が生成され、FALSE が返されます。
-------------------------------------------------- ----------------------------------
func_num_args
関数に渡される引数の数を返します
説明
int func_num_args(void)
この関数は、現在定義されている関数に渡された引数の数を返します。 func_num_args() は、この関数が関数定義外から呼び出された場合に警告を生成します。
func_num_args() を func_get_arg() および func_get_args() と組み合わせて使用すると、ユーザー定義関数が可変長の引数リストを受け入れることができます。 PHP クラスを構築する場合、これら 3 つの関数を柔軟に使用することで、非常に理想的な結果を得ることができます。たとえば、PHP と MYSQL をリンクするクラスを作成する場合は、次のコードを書くことができます。
コードをコピー | |
クラスmydb{
プライベート $user; プライベート $pass; プライベート $host; プライベート $db; パブリック関数 __construct(){ $num_args=func_num_args(); if($num_args>0){ $args=func_get_args(); $this->host=$args[0]; $this->user=$args[1]; $this->pass=$args[2]; this->connect(); } } …….. ?> |
コードをコピー | |
関数 foo()
{
|
引数 0 は: 1
引数 1 は: 2
引数 2 は: 3