【问题标题】:Assign variable with the aid of boolean operators借助布尔运算符分配变量
【发布时间】:2013-02-07 03:11:57
【问题描述】:

有没有一些捷径可以做到这一点

if (!empty($b))
   $a = $b;
else if (!empty($c)) {
   $a  = $c;

我知道你可以使用三元运算符,但它不是我在 JavaScript 中要求的那样,有办法像这样分配

my_var = some_Var || fu_bar || 0; 

所以如果第一个不存在,它使用第二个,如果第二个不存在,它使用第三个。

php中有类似的东西吗?

【问题讨论】:

  • 哪个版本? PHP 5.4 有?:
  • 没有。在 PHP 中,你只会得到一个布尔值。
  • 究竟什么才是“空”?变量是不存在(未定义)还是只是null。如果是后者,是只有null还是== false
  • @Álvaro $my_var = ($some_Var ?: $fu_bar) ?: 0 相当接近,假设两个变量都已设置...

标签: php variables assign


【解决方案1】:

您可以使用适合您的两种方式之一。这两个函数都会检查我们是否有非空变量。

1: $a = (isset($b) && $b)?$b:$c;
2: if($b)
      $a = $b;
    elseif($c)
      $a = $c;

【讨论】:

    【解决方案2】:

    想不出别的办法:

     $a = ! empty($b) ? $b : (! empty($c) ? $c : 0)
    

    【讨论】:

    • "我知道你可以使用三元运算符,但它不是我 ['m] 要求 [for]"
    猜你喜欢
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2011-09-27
    相关资源
    最近更新 更多