您可能已经知道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 */