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 || $b( JavaScriptと同様です。)

これは、変数が実際に設定されていることを前提としていることに注意してください。それらが設定されていない場合(つまり、まったく存在しない場合)は、実際にを使用する必要がありますisset

于 2012-11-08T15:18:59.180 に答える
1

私によると$c= $ a?$ a:$ b; 最良の方法です

于 2012-11-08T15:19:00.427 に答える