看起来你想要一个可选参数,你可以通过在函数定义中定义一个默认值来完成:
function getTemplate($tpl, $vars=null) { }
您可以将此函数称为getTemplate($ foo)或getTemplate($ foo,$ bar).有关更多详细信息,请参阅函数参数的PHP手册页.
也可以编写带有可变数量参数的函数,但是你需要使用func_num_args,func_get_arg和func_get_args函数来获取它们.这是手册中的一个例子
\n"; if ($numargs >= 2) { echo "Second argument is: " . func_get_arg(1) . "
\n"; } $arg_list = func_get_args(); for ($i = 0; $i < $numargs; $i++) { echo "Argument $i is: " . $arg_list[$i] . "
\n"; } } foo(1, 2, 3); ?>
为了更加完善这个答案,假设您构建了一个1..n值的数组,并希望将它传递给上面定义的foo()函数?你将使用call_user_func_array
$values=(1,2,3,4); call_user_func_array('foo', $values);
这相当于召唤
foo(1,2,3,4);