はじめに
前回の記事では、PHPのbreak文とcontinue文について紹介しました。
本記事では、switch文を使った条件分岐について紹介します。
switch文を使った条件分岐
switch文とは、if文と同じように条件分岐を行う制御文です。if文は else-if文を使うことで複数の条件式を書くことができますが、switch文の条件式は1つです。
1つの式に対して、式の値が case のどれにあてはまるか確認します。あてはまる case があれば、その case の処理を実行し、caseのどれにもあてはまらないときは、defaultがある場合、defaultの処理を実行します。(※defaultは書かなくてもよい)

スポンサーリンク
switch文の書き方は次のとおりです。
switch文の書き方
switch ( 式 )
{
case 値1
// 「式 = 値1」のときに実行される処理
break;
case 値2:
// 「式 = 値2」のときに実行される処理
break;
default:
// 式の値が上記のどれにも一致しないときに実行される処理
break;
}
switch文の使用例
それでは、実際にPHPのプログラムでswitch文を使用した条件分岐を紹介します。
次の例では、変数「$value」の値によってswitch文で処理を分岐しています。
[switch文の例]
<?php $value = "01"; switch ($value) { case "01": print("01の処理"); break; case "02": print("02の処理"); break; default: print("デフォルトの処理"); break; } ?>
[実行結果]
01の処理
switch文の注意点
switch文を書くときに気をつけることは break文を忘れずに記述することです。break文を書き忘れると、一致したcase以降の処理をすべて実行します。


以下は、break文のないswitch文の例です。
- 変数「$value」はcase "02"に一致しているので、case "02"の処理を実行
- case "02"の処理にはbreak文がないので switch文は終了せず、そのまま case "02"の下に記述されている defaultの処理を実行
[break文を書いてない場合の例]
<?php $value = "02"; switch ($value) { case "01": print("01の処理<br />"); case "02": print("02の処理<br />"); default: print("デフォルトの処理"); } ?>
[実行結果]
02の処理 デフォルトの処理
終わりに
本記事では、PHPのswitch文を使った条件分岐について紹介しました。
次回の記事では、PHPの関数について紹介します。