PHPの条件分岐でif 文を短かく書ける

FuelPHP のコーディング標準ページをボケーっと見てたら目に付いた。

AND 条件・OR 条件を使えば、if 文で3行使うコードを1行で書けるらしい。
そもそも if 文の条件式以外で OR や AND を使う機会がなかった。

既知のことかもしれないけど、個人的に感動したのでブログに書く。
あとついでに三項演算子についてもおさらい。

目次

  1. OR 条件
  2. AND 条件
  3. 三項演算子

1.OR 条件

OR や AND は、単一の条件式のときに使いやすい。

or 条件は、or より前の部分が「false」であった場合、or より後ろの部分が実行される。

$id に値がセットされて「いる」場合、「test」をセットする。

if($id != "") {
 $id = "test";
}

これを、こう書き換えられる。

isset($id) or $id = “test”;

めっちゃ楽!

2.AND 条件

and 条件の場合は、and より前の部分が「true」である場合に、and より後ろの部分が実行される。

$id に値がセットされて「いない」場合、test をセットする

if($id == "") {
 $id = "test";
}

これを、こう書ける。

isset($var) and $id = “test”;

これ発見した時めっちゃ感動したけど、今見たらそうでもないな・・・

3.三項演算子

ここまできたら三項演算子も同じカテゴリだよね。
こっちは単一じゃなく、正否が有る場合につかうけど。

条件 ? 条件に一致した場合に返す値 : 条件に一致しない場合に返す値

ちなみに「条件に一致し場合に返す値」のとこで echo するとエラーになる。
その場合は、print をする。

参考

コーディング標準 – 概要 – FuelPHP ドキュメント

コメント

タイトルとURLをコピーしました