条件式を使うことで「この条件のときだけ」実行できるプログラムを書けます。
PHP には2つの条件構文があります。
ここでは、そのうちの一つ「if文」をまとめています。
if-else 構文
if 文は、どんなプログラムを書くときも頻繁に使う構文の一つです。
以下のように記述します。
if 文の構文
if (式) {
式が TRUE の場合、この中のブロックが実行されます。
}
「式」には、比較演算子や論理演算子を使って記述します。
参考
演算子については「いろいろな演算子」にまとめています。
式が TRUE の場合、そうでなかった場合(FALSE)と処理を分けたい場合は、
「else」を使います。
if-else 文の構文
if (式) {
式が TRUE のとき、この中が実行されます。
} else {
式が FALSE のとき、この中が実行されます。
}
elseif を使う if 文
elseif を使うと「そうでなかったら」ではなく、「そうではなくて〇〇だったら」
という条件を記述することができます。
elseif 文の構文
if (式1) {
式1がTRUEのとき、この中が実行されます。
} elseif (式2) {
式1がFALSEで式2がTRUEのとき、この中が実行されます。
} else {
式1がFALSEで式2もFALSEのとき、この中が実行されます。
}
注意ポイント
elseif を多様すると、コードが分かりにくくなるので注意が必要です。(可読性が低下する)
多用する場合は、switch 文を使うことをおすすめします。
参考
switch 文については、「条件分岐(switch文)」にまとめています。
中カッコを使わない if 文
PHP では、一般的な中カッコを使う構文以外に、コロン(:)と endif を使った if 文があります。
中カッコを使わない if 文の構文
if (式):
式がTRUEのとき、この中がじっこうされます。
else:
式がFALSEのとき、この中がじっこうされます。
endif;
あまり一般的ではありませんが、すっきりした印象のコードとなります。
if 文を使わない条件式(三項演算子)
if 文を使って条件式を記述する以外に、三項演算子を使って記述する方法もあります。
三項演算子の構文
条件式 ? TRUE時の値 : FALSE時の値;
三項演算子を使うと、TRUEやFALSEのときに実行した最後の値が演算子の結果になります。
つまり、その結果を変数に代入したりすることができます。
条件式を使うサンプル
if 文を使ったコードを記述して、実行してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $x = 60; // 通常のif文 if ($x > 50) { echo "score=$x<br>"; } else { echo "Under<br>"; } // 中カッコを使わないif文 if ($x < 50): echo "under=$x<br>"; else: echo "score=$x<br>"; endif; // 三項演算子 echo (($x > 50) ? "score=$x<br>" : "Under<br>"); ?> |
実行結果
score=60
score=60
score=60