PHP5.6以降は、func_num_args(), func_get_arg(), func_get_args()を使わずに可変長引数を実現できる。 そのことに最近気づいた・・・・
当然、余計な関数を使わないので実装がスッキリする。
例
<?php function test(...$params) { var_dump($params); } test(1,2,3,4,5);
実行結果
array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
...$params
は必ず末尾に定義にする。次の例はエラーとなる。
function test(...$params, $params2)
...$params
の前に別の引数を定義するのはOK。
function test($params2, ...$params)