eyecatch php

PHP

【PHP】条件分岐に「三項演算子」を使ってみた

2018/05/24

作ってるシステムでちと大量に条件分岐する箇所がでてきたのですが、いちいち if文を書くのが面倒になってきたので、思い立って「三項演算子」を使ってみることにしました。

しばらく使ってないと忘れがちなので、忘備録的にポストしておきます。

三項演算子とは?

三項演算子は演算子のひとつで3つの項目を使用する唯一の演算子です。

三項演算子の式

[php]
条件式 ? 式1 : 式2
[/php]

条件式を評価し、TRUEであれば式1、FALSEであれば式2を返します。

実践

基本的な条件分岐である if を、三項演算子で書き換えてみます。

[php]
if (empty($_POST['action'])) {
$action = 'default';
} else {
$action = $_POST['action'];
}
[/php]

これを三項演算子で書き換えると、以下のように。

[php]
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
[/php]

変数 "$_POST['action']" がemptyの場合は「default」を返し、emptyではない場合はそのまま $_POST['action'] を返すという式となります。

条件により echo する内容を変えたいという場合は、式の前に "echo" を書いてから、三項演算子を書けばOK。
以下のように。

[php]
echo ($aaa == 'bbb') ? '●●●' : '★★★';
[/php]

すごく単純になりますね。

-PHP
-,