条件分岐(if)

前回までは、わかるようなわからないような配列のお話でしたが、今回は条件分岐のifについて触れていきます。 ifはその名の通り「もし〜だったら○○の処理をする」というものになります。 まずは単純な条件分岐として、以下のコードを書いてみましょう。


 <?php

 $name = "佐藤";	//$nameに佐藤と代入する
 if($name == "佐藤"){	//もし$nameが佐藤だったら…
	print "<p>佐藤さんですね</p>";	//「佐藤さんですね」と書き出す
 }
 
 ?>

	

上記のコードを保存しブラウザで表示すると、「佐藤さんですね」と表示されます。 ifの部分から説明すると、if()の中には「もし〜だったら」の条件を書きます。 この場合は、「もし$nameの値が佐藤だったら〜」と書いています。 そしてその次の「{」から「}」の間に実際に行なう処理を記述していきます。

このコードの「$name = "佐藤";」を「$name = "山田";」と書き換えると、「佐藤さんですね」とは表示されず、何も表示されなくなります。 このままでは難なので、佐藤さんじゃなかった場合にも何か表示されるようにしてみます。 コードを以下の通り書き加えてください。


 <?php

 $name = "佐藤";	//$nameに佐藤と代入する
 if($name == "佐藤"){	//もし$nameが佐藤だったら…
	print "<p>佐藤さんですね</p>";	//「佐藤さんですね」と書き出す
 }else{		//そうじゃなかったら…
	print "<p>佐藤さんではありません</p>";	//「佐藤さんではありません」と書き出す。
 }

 ?>

	

このコードをブラウザで表示すると、$nameの値が「佐藤」だった場合は、「佐藤さんですね」と表示されますが、それ以外のものが入っていた場合は、「佐藤さんではありません」と表示されます。 試しに「$name = "山田"」としてみるとわかるでしょう。 これは「}」の後ろに「else{」というのを付けたことで、条件と合致しなかったときの処理を付け足したからです。 この「else」の最後も「}」で閉じるということを忘れないようにしてください。

これで、$nameが「佐藤」だったら、「佐藤さんですね」、そうじゃない場合は「佐藤さんではありません」と表示されるようになりました。 しかしせっかく「山田」の名前も出しているので、値が「山田」だったときの処理も付加してみましょう。 以下の通りコードを書き加えてください。


 <?php

 $name = "佐藤";	//$nameに佐藤と代入する
 if($name == "佐藤"){	//もし$nameが佐藤だったら…
	print "<p>佐藤さんですね</p>";	//「佐藤さんですね」と書き出す
 }else if($name == "山田"){		//佐藤ではなく山田だったら…
	print "<p>山田さんですね</p>";	//「山田さんですね」と書き出す。
 }else{			//そうじゃなかったら…
	print "<p>あなたは誰ですか?</p>";	//「あなたは誰ですか?」と書き出す。
 }


 ?>

	

このコードをブラウザで表示すると、$nameが「佐藤」なら「佐藤さんですね」、「山田」なら「山田さんですね」、どちらでもなければ「あなたは誰ですか?」と表示されます。 これは「else if」というものを追記したことによって、「○○だったらこれ、○○ではなく××だったらこれ、どれにも該当しなければこれ」というように、条件を段階的に付け加えたからです。 これも書き方は「else」と同様で「else if」の後ろに「{」を付けて「}」までの範囲内に行なう処理を書きます。 「else if」はいくらでも書くことができますが、あまり多くなると処理がわかりにくくなるので、一文の中で条件分岐を複数作る場合は、次回説明する「switch」を使うと良いでしょう。 まずは、簡単な条件分岐を自分で作ってみて慣れるようにしましょう。

メニューへ戻る