[PHP]基礎・Switch






トップページへ

公式サイト

https://www.php.net/manual/ja/control-structures.switch.php

 

switch (変数) {

  case 値1:

    文A;

    break;

  case 値2:

    文B;

    break;

  default:

    文C;

}

ポイント

・各caseごとに「break;」が必須。忘れると、次のcaseの処理も実行される。

・defaultは各caseに該当しなかった場合に実行される。

・case, defaultの最後は : コロン。

・変数は文字列、数字も可能。

 

 

<?php
$i = 'CD1';
$code = 2;
$name = 'Z';

switch ($i) {
  case "CD1":
	echo "J-POP ";
	break;
  case "CD2":
	echo "洋楽 ";
	break;
  default:
	echo "ジャンル不明 ";
}
switch ($code) {
  case 1:
	echo "タイトルA ";
	break;
  case 2:
	echo "タイトルB ";
	break;
  default:
 
	echo "タイトル不明 ";
}
switch ($name) {
  case 'A':
	echo "歌手A ";
	break;
  case 'E':
	echo "歌手E ";
	break;
  default:
	echo "歌手不明 ";
}
?>

実行すると、結果は

J-POP タイトルB 歌手不明

となります。

 

その他のサンプルとして

   Switch ($i) {
      case ($i < 1989):
            $g = "昭和".($i - 1925);
            break;
      case ($i < 2019):
            $g = "平成".($i - 1988);
            break;
      default:
            $g = "令和".($i - 2018);
   }

 

公式サイト

https://www.php.net/manual/ja/control-structures.switch.php

のサンプルをそのまま引用しますが、「true」を値として設定し、それぞれの式が真なら、という分岐も可能です。

switch (true) {
    case $start - $offset === 1:
        print "A";
        break;
    case $start - $offset === 2:
        print "B";
        break;
    case $start - $offset === 3:
        print "C";
        break;
    case $start - $offset === 4:
        print "D";
        break;
}

 

PHP(楽天市場で探すamazonで探す)メニューへ戻る

 






関連記事
PHPメニュー

[PHP]基礎・比較演算子

[PHP]基礎・if

[PHP]基礎・文字列

[PHP]超初心者がWindowsで動作テストするために拝見したサイト様リンク集