独り言


phpの単純な条件分岐「if」「?」「??」「&」「||」

  • 2018年08月21日
  • PHP

PHPで単純な条件分岐を書く時、「if」を使うことが多いと思います。ただ、「if」を使うと面倒くさい場合がままあります。簡単な条件分岐の書き方をメモします。


1.条件分岐の結果により値を変える。
 a)「if」を使う
  if ($bool) {
    $result = ‘trueです’;
  } else {
    $result = ‘falseです’;
  }
 b)「?」を使う
  ($bool) ? ‘trueです’ : ‘falseです’;

  ※$bool は条件式の結果又は変数の true or false です。a)の方が簡単で見やすいと思います。

2.特定の条件で変数に値を代入する。
  $result = 0;
 a)「if」を使う
  if ($bool) {
    $result = 1;
  }
 b)「&&」を使う
  $bool && $result = 1;

  ※$bool が true の場合「1」false の場合「0」が戻されます。やはりb)の方が簡単で見やすいと思います。

3.特定の条件で変数に値を代入するその2
  $result = 0;
 a)「if」を使う
  if (!$bool) {
    $result = 1;
  }
 b)「||」を使う
  $bool || $result = 1;

  ※$bool が true の場合「0」false の場合「1」が戻されます。やはりb)の方が簡単で見やすいと思います。

4.変数 $var が存在するか(値が NULL の場合を含む)しないかで値を変える。
 a)「if」を使う
  if (!isset($var) || $var == NULL) {
    $result = $var2;
  } else {
    $result = $var;
  }
 b)「??」を使う
  $result = $var ?? $var2

  ※$var が存在する場合は $var の値が、存在しないか NULL の場合は $var2 の値が戻されます。

※コードを書く場合、楽である事と後から見通しが良いことが大切だと思います。ケースバイケースで使い分けるのが良いですね。

wordprass