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