如果您有以下功能
function func1($captainObvious="John",$name){
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
如何在不给出参数1的情况下使用参数2调用它? 我想用类似
的方式来称呼它func1(default,"Benny");
但我似乎无法找到那种可能性。
答案 0 :(得分:1)
在创建函数时,您应该首先放置所需的参数,然后将具有默认值的参数放在它们之后。否则,你最终会遇到这种情况,你现在必须为第一个参数提供一个值。
答案 1 :(得分:1)
如果您无法更改func1
,则必须使用func1("John", "Benny")
。如果您可以更改它,但由于遗留问题,更改参数顺序(首选解决方案!)是不可能的,您可以使用null
作为默认标记:
function func1($captainObvious="John", $name){
if ($captainObvious === null) {
$captaionObvious = "John";
}
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
func1(null,"Benny");
答案 2 :(得分:1)
您必须先放置所需的变量。
例如
Function func1($captainObvious="John",$name){
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
Function func2($name, $captainObvious="John"){
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
然后,如果你调用这些函数
echo(func1('', 'Benny'));
echo(func2('Benny', '');
将提供func1
你好,我的名字是。欢迎Benny!
和func2
你好,我的名字是约翰。欢迎Benny!