関数の引数を配列として返す関数

ちょっと便利な関数を見つけたのでメモです。
マニュアルにもありますが、func_get_args()って初めて知りました。
これでなんとなくソースコード短くなりそうですね。


スポンサーリンク

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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, 4, 5);
foo('a', 'test', 'sample', 'example', 'post', 'get');
?>

上記関数実行結果

引数の数: 5
二番目の引数は: 2 です。
引数 0 は: 1 です。
引数 1 は: 2 です。
引数 2 は: 3 です。
引数 3 は: 4 です。
引数 4 は: 5 です。

引数の数: 6
二番目の引数は: test です。
引数 0 は: a です。
引数 1 は: test です。
引数 2 は: sample です。
引数 3 は: example です。
引数 4 は: post です。
引数 5 は: get です。

Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です