PHP : switch case文を利用した条件分岐処理

PHPでswitch case文を使った条件分岐処理を紹介します。

書式

switch(判定する変数)
{
  case 条件1:
    ...(処理);
  case 条件2:
    ...(処理);
  ...
  default:
    ...(処理);
}


一般的には下記のようにbreak;を記述します。

switch(判定する変数)
{
  case 条件1:
    ...(処理);
    break;
  case 条件2:
    ...(処理);
    break;
  ...
  default:
    ...(処理);
    break;
}

「判定する変数」の値をcase文で判定し、条件と一致する場合はcaseに続く処理を実行します。 どの条件にも当てはまらなかった場合は、default:ブロック内の処理を実行します。 case文中にbreakがない場合は続けて以降のcase文を実行します。

コード(HTMLファイル)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    $a = 3;
    switch ($a) {
      case 0:
        echo('0です。');
        break;
      case 1:
        echo('1です。');
        break;
      case 2:
        echo('2です。');
        break;
      case 3:
        echo('3です。');
        break;
      default:
        echo('それ以外です。');
        break;
    }
    ?>
  </body>
</html>

実行結果

3です。 

例: break文がない場合

コード(HTMLファイル)

berak文を記述しなかった場合は、該当したcaseのブロック内を実行した後、以降に続くcaseブロックとdefaultブロック内の処理も実行します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    $a = 1;
    switch ($a) {
      case 0:
        echo('0です。<br/>');
      case 1:
        echo('1です。<br/>');
      case 2:
        echo('2です。<br/>');
      case 3:
        echo('3です。<br/>');
      default:
        echo('それ以外です。<br/>');
    } ?>
  </body>
</html>

実行結果

1です。
2です。
3です。
それ以外です。


AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2011-02-06
改訂日: 2023-12-16
Copyright © 1995–2025 iPentec all rights reserverd.