条件分岐(switch)

今回も前回と同様に条件分岐ですが、「switch」というものに触れてみます。 まずは下記のサンプルコードを書いてみましょう。


 <?php

 $name = "佐藤";	//$nameに佐藤と代入
 switch($name){		//$nameの値が…
	case "佐藤":	//佐藤だった場合
	     print "佐藤さんですね";
	     break;	//佐藤だった場合の処理ここまで

	case "山田":	//山田だった場合
	     print "山田さんですね";
	     break;	//山田だった場合の処理ここまで

	default:	//佐藤でも山田でもない場合
	     print "あなたは誰ですか?";
 }

 ?>

	

また佐藤さんと山田さんが登場していますが、上記のコードを保存しブラウザで実行すると「佐藤さんですね」と表示されます。 $nameの値を「山田」にすると「山田さんですね」と表示されます。 $nameの値が「佐藤」でも「山田」でもない場合は、「あなたは誰ですか?」と表示されます。

まず「switch($name)」という分で、「$nameの値によって処理を変える」ということを宣言しています。 処理は、ifと同様に「{」から「}」の範囲内に記述していきます。 「case "佐藤" :」という部分で、「$nameの値が佐藤だったら…」という判定をしています。 判定に使う変数の値が数値だった場合は当然「"(ダブルクォーテーション)」は必要無いので「case 5:〜」のようにそのまま書くことができます。 その次から実際に行なう処理を書いていくのですが、行なう処理の記述が終わったら必ず、「break;」という一行を書きましょう。 これが無いとPHPがどこまで処理をしていいのかわからずに、その次の「case "山田":」の処理まで行なってしまいます。 「break;」を書き忘れるということは、最初のうちはやりがちなので注意しましょう。

「case」での判定と処理内容を一通り書き終えたら、最後に必要に応じて「default:」というものも書きます。 これはどのケースにも合致しない場合に行なう処理を記述します。 必要無い場合は書かなくても大丈夫です。

今回のサンプルコードの処理は、前回の「if」「else if」「else」で書いたものと同じですが、このように条件が多岐に渡る場合は、 見た目にもスッキリするのでswitchを利用しましょう。

メニューへ戻る