if-elseif-else文を理解したい人向け
if-elseif-elseってなに?
elseifの複数の書き方を理解したい。
条件分岐を復習したい。
こういった疑問を解決します。
本記事の内容
・if-elseif-elseってなに?
・if-elseif-else文の書き方完全解説
if-elseに続く条件分岐の基礎なのでしっかり理解しましょう。
参考
elseif文の基本であるif-else文についての解説はこちら
if-elseif-elseってなに?
条件が複数存在し、それぞれの条件に対して文を実行することができる条件分岐の制御文です。
if-elseだと1つの条件に対してtrue,falseの2通りの処理しかできませんが、elseifを使用するといくつもの条件を指定してプログラムを実行することができます。
以下の図はelseifを用いたときの条件分岐の図です。
ifで条件1を決め、YES(true)であればif後の文を実行。NO(false)であれば次に書いてあるelseifの条件2を参照してYES(true)であればelseif(条件2)を実行。NOであれば次の処理へと続きます。
elseifのいずれの条件式にもYES(true)にならない場合は最後のelse文を実行します。
elseifはいくつでも記述することができます。
if-elseif-else文の書き方
if-elseif-else文は以下のように書きます。
if ( 条件式1 ) {
文1
} elseif ( 条件式2 ) {
文2
} elseif ( 条件式3 ) {
文3
} else {
文4
}
Tips
elseifはいくつでも記述することができます。
elseifを使用したソースコードを見てみましょう。
<?php $i = rand(1, 100); if ($i <= 10) { echo $i . 'は1〜10の数字です。' . PHP_EOL; } elseif (11 <= $i && $i <= 20) { echo $i . 'は11〜20の数字' . PHP_EOL; } elseif (21 <= $i && $i <= 30) { echo $i . 'は21〜30の数字' . PHP_EOL; } elseif (31 <= $i && $i <= 40) { echo $i . 'は31〜40の数字' . PHP_EOL; } elseif (41 <= $i && $i <= 50) { echo $i . 'は41〜50の数字' . PHP_EOL; } elseif (51 <= $i && $i <= 60) { echo $i . 'は51〜60の数字' . PHP_EOL; } elseif (61 <= $i && $i <= 70) { echo $i . 'は61〜70の数字' . PHP_EOL; } elseif (71 <= $i && $i <= 80) { echo $i . 'は71〜80の数字' . PHP_EOL; } elseif (81 <= $i && $i <= 90) { echo $i . 'は81〜90の数字' . PHP_EOL; } else { echo $i . 'は91〜100の数字' . PHP_EOL; }
変数$iにランダムな数字1〜100を入れます。
ifの条件式には「$iが10以下」と指示し、文「echo $i . 'は1〜10の数字です。'」を表示させるようにしています。
最初のelseifの条件式には「$iが11以上かつ20以下」の時、「echo $i . 'は11〜20の数字'」としています。(&&は両方がtrueの場合、trueを返します)
それを繰り返しています。
91〜100の時は、elseを使用しています。変数の値が最大100までとわかっているので残りの数字は91〜100と表示させます。
何回か実行させました。
このようにelseifを使用して条件分岐することができました。
まとめ
・条件が複数存在し、それぞれの条件に対して文を実行することができる条件分岐の制御文
・elseifを使用するといくつもの条件を指定してプログラムを実行することができる
・if-elseif-else文の書き方は以下
if ( 条件式1 ) {
文1
} elseif ( 条件式2 ) {
文2
} elseif ( 条件式3 ) {
文3
} else {
文4
}
・elseifのいずれの条件式にもYES(true)にならない場合は最後のelse文を実行
if-elseif-else文を理解して、条件分岐を使えるようになりましょう!