打印变量1或变量2取决于是否设置变量1

时间:2012-11-08 15:14:01

标签: php

我想echo变量$a如果已设置,或echo变量$b如果未设置变量$a

我尝试了一些东西,但它没有按预期工作:

  <?
    $a = "FOO";
    $b = "BAR";
    $c = $a OR $b;
    echo $c; #output : FOO

    //

    $a = false;
    $b = "BAR";
    $c = $a OR $b;
    echo $c; #output : 
  ?>

我可以使用一个函数来完成它,比如

   function F($a,$b) {
      if($a) return $a;
      return $b;
   }

或使用此:

   $c = $a ? $a : $b;

也许有更好的方法来做到这一点。我希望以最快的方式实现这一目标。

3 个答案:

答案 0 :(得分:1)

您问右if it is set&lt; - isset()

所以

  

$ c = isset($ a)? $ a:isset($ b)? $ b:'两者都未设置';

答案 1 :(得分:1)

这是你最接近你要做的事情:

$c = $a ?: $b;

(类似于JavaScript中的$c = $a || $b。)

请注意,这假设实际设置了变量。如果它们没有设置(即根本不存在),那么你应该使用isset

答案 2 :(得分:1)

根据我的$ c = $ a? $ a:$ b;是最好的方式