条件分岐(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」を使うと良いでしょう。 まずは、簡単な条件分岐を自分で作ってみて慣れるようにしましょう。