三項演算子を使った簡単な条件分岐
if~else文に似た条件分岐のやり方として、三項演算子を使う方法もあります。
ただし、if文が処理自体を分岐するのに対し、三項演算子は式を変えるものであるため、使いどころが変わります。
使いどころが難しいですので、頭の片隅に入れておくぐらいでいいかもしれません。
ただ、ネット上のサンプルスクリプト内で使われていることはあるため、意味はわかるようにしておきたいですね。
目次 Table of Contents
三項演算子の使い方
PHPの三項演算子を使った場合と、if文で書いたときの例を以下に示します。
echo ($a > 15 ? '$aは15より大きいです。' : '$aは15未満です。');
//
if($a > 15){
echo '$aは15より大きいです。';
} else {
echo '$aは15未満です。';
}
$aは15未満です。
上の例では同じ結果を返します。
三項演算子は 条件 ? trueの場合の式 : falseの場合の式 という形をとります。
if文が条件によって処理を分けるのに対し、三項演算子は式を変える役割を持っています。
式とは、上記で言えばechoのあとにつづく内容の部分ですね。
ifなら条件分岐をして、echo以外の処理をすることもできますが、三項演算子はechoの内容が変わっているだけです。
三項演算子の使いどころは?
と聞かれるとちょっと難しいですね(笑)
同じ処理をするけれど、条件(や真偽の結果)によって表示内容を変えるときなどに使用する感じです。
フォームのselectの項目(option)で、selected="selected"を表示する・しないの分岐、とか?
リンクのrel="nofollow"の表示・非表示の分岐とか?
初回訪問と2回目以降でお礼のメッセージを変えるとか?
まあ、簡単な2分岐で使うよ~と覚えておいてください。
コメントフォーム
自分の勉強にもなりますので、コメントいただけるとうれしいです。