0

如果设置了变量,我想echo变量,如果变量没有设置,我想变量。$aecho$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;

也许有更好的方法来做到这一点。我想要最快的方法来完成这个。

4

3 回答 3

1

你问对了if it is set<--isset()

所以

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

于 2012-11-08T15:18:55.577 回答
1

这是最接近您尝试做的事情:

$c = $a ?: $b;

(它类似于$c = $a || $bJavaScript。)

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

于 2012-11-08T15:18:59.180 回答
1

据我说 $c = $a ?$a : $b; 是最好的方法

于 2012-11-08T15:19:00.427 回答