はじめに
前回の記事では、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の関数について紹介します。