首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义函数参数2,并将参数1保留为默认值

定义函数参数2,并将参数1保留为默认值
EN

Stack Overflow用户
提问于 2013-01-27 07:33:27
回答 3查看 89关注 0票数 0

如果您有以下函数

代码语言:javascript
复制
function func1($captainObvious="John",$name){
  return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

如何在不给出参数1的情况下使用参数2调用它?我想用类似这样的方式来调用它

代码语言:javascript
复制
func1(default,"Benny");

但我似乎找不到这种可能性。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-27 07:40:32

如果不能更改func1,则必须使用func1("John", "Benny")。如果您可以更改它,但可以更改参数顺序(首选解决方案!)由于遗留问题,您可以使用null作为默认标志:

代码语言:javascript
复制
function func1($captainObvious="John", $name){
  if ($captainObvious === null) {
    $captaionObvious = "John";
  }
  return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

func1(null,"Benny");
票数 1
EN

Stack Overflow用户

发布于 2013-01-27 07:34:48

在创建函数时,您应该将所需的参数放在第一位,然后将具有默认值的参数放在它们后面。否则,您最终会遇到这样的情况,您现在必须为第一个参数提供一个值。

票数 1
EN

Stack Overflow用户

发布于 2013-01-27 07:44:56

您必须将所需的变量放在第一位。

例如

代码语言:javascript
复制
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."!";
}

如果你调用这些函数

代码语言:javascript
复制
echo(func1('', 'Benny'));
echo(func2('Benny', '');

将为func1做出贡献

你好,我的名字是。

欢迎班尼!

而对于func2

你好,我叫

欢迎班尼!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14542693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档