function 構文において、function hoge($arg1, $arg2){ … } と定義すれば $arg1 と $arg2 はその関数の中で引数として利用可能ですが、可変個の引数を受け付けたい場合にはこの方法ではアクセスできません。可変個の引数にアクセスするにはfunc_get_args関数を利用します。
func_get_args 関数は引数を取りません。そのまま実行すると実行中の関数に渡されている引数を配列として返却します。具体的な実行結果を示します。
1 2 3 4 5 6 7 |
<?php function hoge($x){ return func_get_args(); } $result = hoge('one', 'two', 'three'); // 定義されている引数以上の引数を与える var_dump($result); |
出力結果を見ると全ての引数が取得できていることが分かります。
1 2 3 4 5 6 7 8 9 |
array(3) { [0]=> string(3) "one" [1]=> string(3) "two" [2]=> string(5) "three" } |