Into the Program

【PHP】switch文

Image

switch文はif文と同じく複数の条件を分岐させる場合に利用する構文です。
書式は以下の通りです。

switch(式){
  case 値1:
  // 式と値1が等しい場合に実行する処理
  break;

  case 値2:
  // 式と値2が等しい場合に実行する処理
  break;

  case 値3:
  // 式と値3が等しい場合に実行する処理
  break;

  default:
  // 式が値1~3と等しくない場合に実行する処理
}

switch文は式で受け取った値を元に条件分岐します。
式とcaseに設定された値を比較し、等しい場合にcase内の処理を実行します。
もし、caseに等しい値が見つからない場合はdefaultの処理が実行されます。

switch文を書く際には以下の点に注意しましょう。

  • caseの行末はセミコロン(;)ではなくセミコロン(:)を書く。
  • case処理の最後はbreakで終わる。
  • defaultの行末はセミコロン(:)を書く。

case処理の最後にbreakが記述されていない場合、等しい値が見つかると、以降のcase、defaultの処理が全て実行されます。
breakは等しい値が見つかった場合、switch文を抜け出すものだと覚えておきましょう。

以下はswitch文のサンプルです。

<?php

  $num = 2;
  switch($num){
  case 0:
  // $numが0と等しい場合に実行する処理
  echo "値は0です。";
  break;

  case 1:
  // $numが1と等しい場合に実行する処理
  echo "値は1です。";
  break;

  case 2:
  // $numが2と等しい場合に実行する処理
  echo "値は2です。";
  break;

  default:
  // $numが0~2と等しくない場合に実行する処理
  echo "値が不明です。";
  }

?>


Demo

実行結果のデモを置いています。
上記のサンプルでは変数の値は2なので以上の結果になります。
もし変数の値が3の場合はdefaultの処理が実行されます。
他にもbreakを記述しなかった場合やコロンではなくセミコロンを書いてみたり、色々と試してみて下さいね。

SHARE