前の記事では、
if / else を使った基本的な条件分岐 を学びました。
しかし実際の処理では、
・条件が2つ以上ある
・場合分けが増えてくる
というケースがほとんどです。
そのような場合に使うのが、
elseif と switch です。
この記事では、
複数条件を扱うための条件分岐 を
コード付きで整理します。
この記事で学べること
・elseif の書き方と使いどころ
・switch 文の基本構造
・if / elseif と switch の使い分け
・実務でよくある分岐パターン
elseif とは何か
elseif は、
複数の条件を順番にチェックしたい場合 に使います。
考え方はシンプルです。
・最初の条件がダメなら
・次の条件を見る
・それもダメなら次…
という流れです。
elseif の基本的な書き方
サンプルコード①:elseif の基本
コードの読み解き
・80点以上 → とても良い
・60点以上 → 合格
・それ以外 → 不合格
上から順番に条件を評価し、
最初に true になった処理だけ が実行されます。
elseif を使うときの重要な考え方
elseif を使うときは、
条件の順番が非常に重要 です。
例えば、
・60点以上
・80点以上
という順番で書くと、
80点以上の条件に到達しません。
「どの条件を先に評価すべきか」
を必ず考えましょう。
フォーム処理での実用例
elseif は、
入力内容に応じて
メッセージを変えたいときによく使われます。
サンプルコード②:入力値による分岐
switch とは何か
switch は、
特定の値によって処理を分けたい場合 に使います。
elseif と違い、
・同じ変数
・決まった値
で分岐する場合に向いています。
switch の基本構造
サンプルコード③:switch の基本
コードの読み解き
・$day の値をチェック
・一致した case の処理を実行
・break で switch を抜ける
・どれにも当てはまらなければ default
break を忘れるとどうなるか
switch 文では、
break を忘れると処理が続いてしまう
という特徴があります。
サンプルコード④:break を忘れた例
この場合、
・「月曜日です火曜日です」
と表示されます。
初心者が最もハマりやすいポイントです。
if / elseif と switch の使い分け
目安としては次の通りです。
・範囲や条件で分岐したい
→ if / elseif
・値が決まっている場合
→ switch
無理に統一する必要はなく、
読みやすさを優先 してください。
実務ではどちらが多いか
実務では、
・入力チェック
・数値判定
では if / elseif が多く、
・ステータス判定
・種別コード判定
では switch がよく使われます。
初心者がよくやるミス
複数条件分岐で多いミスです。
・条件の順番を考えていない
・break を書き忘れる
・switch で条件式を書こうとする
「この分岐は何を基準にしているか」
を常に意識しましょう。
まとめ
この記事では、
複数条件を扱うための
・elseif
・switch
の基本的な使い方を学びました。
条件分岐が書けるようになると、
プログラムが一気に実用的 になります。
次は、
繰り返し処理を使って
同じ処理を効率よく書く方法に進みます。
次に読むべき記事
▶ 次の記事
6-6 PHPで繰り返し処理(for / foreach)
▶ 関連記事
6-4 PHPの条件分岐(if / else)



コメント