(PHP 4, PHP 5)
func_get_args — 関数の引数リストを配列として返す
関数の引数リストを配列で取得します。
この関数は func_num_args() および func_get_arg() と組み合わせて使用され、 これによりユーザ定義の章において可変長の引数リストを使用することができるようになります。
配列を返します。この配列の各要素は、 現在のユーザ定義関数の引数リストにおける対応するメンバのコピーとなります。
バージョン | 説明 |
---|---|
5.3.0 | この関数はパラメータリスト内で使用できるようになりました。 |
5.3.0 | ある関数内で include() や require() を使って別のファイルを読み込んでいるときに 別のファイル側からこの関数をコールすると、警告を発生して FALSE を返すようになりました。 |
ユーザ定義関数の外部からコールされた際に警告を発生します。
例1 func_get_args() の例
<?php
function foo()
{
$numargs = func_num_args();
echo "引数の数: $numargs<br />\n";
if ($numargs >= 2) {
echo "二番目の引数は: " . func_get_arg(1) . " です。<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "引数 $i は: " . $arg_list[$i] . " です。<br />\n";
}
}
foo(1, 2, 3);
?>
上の例の出力は以下となります。
Number of arguments: 3<br /> Second argument is: 2<br /> Argument 0 is: 1<br /> Argument 1 is: 2<br /> Argument 2 is: 3<br />
例2 func_get_args() の PHP 5.3 前後の例
test.php
<?php
function foo() {
include './fga.inc';
}
foo('First arg', 'Second arg');
?>
fga.inc
<?php
$args = func_get_args();
var_export($args);
?>
PHP 5.3 より前のバージョンでの出力は、このようになります。
array ( 0 => 'First arg', 1 => 'Second arg', )
PHP 5.3 以降のバージョンでの出力は、このようになります。
Warning: func_get_args(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fga.inc on line 3 false
注意:
この関数は、 カレントスコープに依存してパラメータの詳細を決定しますので、 5.3.0 より前のバージョンでは関数パラメータとして使用することができません。 もし、この値を渡さなければならない場合、戻り値を変数に割り当て、 その変数を渡してください。
注意: この関数は、渡された引数のみのコピーを返します。 デフォルトの(渡されていない)引数については考慮しません。