PHP –具有任意数量参数的函数
您可能已经知道PHP允许您使用可选参数定义函数。但是,还有一种方法可以允许完全任意数量的函数参数。
首先,这是一个仅带有可选参数的示例:
//具有2个可选参数的函数
function foo($arg1 = '', $arg2 = '') {
echo "arg1: $arg1\n";
echo "arg2: $arg2\n";
}
foo('hello','world');
/* prints:
arg1: hello
arg2: world
*/
foo();
/* prints:
arg1:
arg2:
*/现在,让我们看看如何构建一个可以接受任意数量参数的函数。这次我们将利用func_get_args():
//是的,参数列表可以为空
function foo() {
//返回所有传递的参数的数组
$args = func_get_args();
foreach ($args as $k => $v) {
echo "arg".($k+1).": $v\n";
}
}
foo();
/* prints nothing */
foo('hello');
/* prints
arg1: hello
*/
foo('hello', 'world', 'again');
/* prints
arg1: hello
arg2: world
arg3: again
*/