【问题标题】:Function argument default value on a ternary condition三元条件下的函数参数默认值
【发布时间】:2020-01-12 04:35:54
【问题描述】:

尝试使用函数的参数的默认值,但它总是返回,好像变量为空。

function a($param = "defaultValue") {
  echo( $param ? $param : 'Hello World');
  //echo( isset($param) ? $param : 'Hello World');
}


$pimba;
a($pimba);

我这样做是为了避免在函数内部这样做,例如:

function a ($param) {
   $param = $param ? $param : 'defaultValue';
}

不知道为什么它不起作用。
我想避免它,因为代码会更干净。

【问题讨论】:

  • 那么你期待什么? $pimba 为 NULL。
  • 与 javascript 不同,$pimba; 不是变量声明。
  • 3v4l.org/UQZEf$pimba 为空,所以 $param 变成了这样。如果您不传递变量,则声明仅分配值。请参阅php.net/manual/en/…
  • 我想从参数行获取默认值。 $param = "defaultValue".
  • @aynberOhh 哦,现在我明白了。 $param 仅在没有参数传递给函数或我传递 null(不是设置为 null 的变量)时才会获得默认值。对吗?

标签: php function ternary-operator default-arguments


【解决方案1】:

在 php 中,您必须记住 $pimba; 行什么都不做,没有您期望的信息,但我猜 $pimba=''; 是使您的代码按预期工作的原因

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 2011-02-20
    • 2011-04-09
    • 2010-11-28
    • 1970-01-01
    • 2019-09-11
    • 2012-08-03
    • 2015-07-08
    • 2011-08-26
    相关资源
    最近更新 更多