函数functionName(这里是if子句)可能吗?

0 php if-statement

function getTemplate($tpl if ($vars) echo ", $vars";)...function

这有可能吗?以上不会工作.

谢谢

Pau*_*xon 6

带有默认值的可选参数

看起来你想要一个可选参数,你可以通过在函数定义中定义一个默认值来完成:

function getTemplate($tpl, $vars=null)   
{

}
Run Code Online (Sandbox Code Playgroud)

您可以将此函数称为getTemplate($ foo)或getTemplate($ foo,$ bar).有关更多详细信息,请参阅函数参数PHP手册页.

可变数量的参数

也可以编写带有可变数量参数的函数,但是你需要使用func_num_args,func_get_argfunc_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)