如果你有以下功能
function func1($captainObvious="John",$name){
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
你如何在不给出论点 1 的情况下用论点 2 来称呼它?我想用类似的东西来称呼它
func1(default,"Benny");
但我似乎找不到这种可能性。
如果你有以下功能
function func1($captainObvious="John",$name){
return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}
你如何在不给出论点 1 的情况下用论点 2 来称呼它?我想用类似的东西来称呼它
func1(default,"Benny");
但我似乎找不到这种可能性。
创建函数时,您应该首先放置所需的参数,然后将具有默认值的参数放在它们之后。否则,您最终会遇到这样的情况,您现在必须为第一个参数提供一个值。
如果你不能改变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");
您必须首先放置所需的变量。
例如
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
你好,我的名字是。
欢迎本尼!
对于 func2
你好,我的名字是约翰。
欢迎本尼!