こんにちは第2回目です。
前回は変数に値を入れて表示するということをやりましたが、今回はその変数の値をチェックして条件に合致する場合の処理と、合致しなかった場合の処理をしてみます。
条件を判断するためによく用いられるのが「if」です。 この「if」を用いた文のまとまりをif構文と言うことがあります。
if構文はif(条件式){処理}で記述されます。 では、一番シンプルなif構文を見てみましょう。
$hensuu = "変数"; if($hensuu == "変数"){ echo "hensuuは「変数」である。"; }
これを実行すると「hensuuは「変数」である。」と表示されます。 if( )内の部分で条件の比較を行い、続く{ }内が条件に合致した場合の処理になります。
条件式では、
$a == $b : $aと$bは一致 $a != $b : $aと$bは異なる $a > $b : $aは$bより大きい $a < $b : $aは$bより小さい $a => $b : $aは$bと同じか大きい $a =< $b : $aは$bと同じか小さい
というようにいくつかの等号記号が使えます。
if構文では合致しなかった場合のみ実行する処理も記述できます。
$a = 5; if($a == 3){ echo "aは3だよ"; }else{ echo "aは3じゃない"; }
「else」というのは、それ以外の場合という意味で、if()内の条件に合致しない場合に実行されます。 このサンプルを実行すると「aは3じゃない」と表示されます。 このようにif()内に合致しないものは全てelse以降の{}内の処理にまわされます。
また、if()内のの条件には合致しないが、別の条件に合致する場合を判定したいときもあります。 その場合は「elseif(条件式)」を使用することで判定できます。 例えば
$a = 5; if($a == 3){ echo "aは3だよ"; }elseif($a == 5){ echo "aは3じゃないけど、5だよ"; }else{ echo "aは3でも5でもないよ"; }
この実行結果は「aは3じゃないけど、5だよ」です。 elseifとelseは同時に使うことが出来ます。 その際、else{}内はif(条件式)とelseif(条件式)の両方に合致しなかった場合実行されます。
$a = 5; if($a == 3){ echo "aは3だよ"; }elseif($a == 2){ echo "aは3じゃないけど、2だよ"; }elseif($a == 5){ echo "aは3じゃないけど、5だよ"; }else{ echo "aは3でも5でもないよ"; }
このようにelseifは複数回記述することも可能です。
if構文まとめ
if構文で全ての条件判定が出来るのですが、elseifがたくさんになりすぎるのも見にくいし、書くのが面倒です。 そこでswitch構文というものを利用します。
switch構文は以下のように記述します
$a = 1; switch($a){ case 0: echo "aは0だ"; break; case 1: echo "aは1だね"; break; case 2: echo "aは2だよ"; break; }
この実行結果は「aは1だね」です。 switch構文ではこのようにswitch(変数)の変数と一致するcaseの処理が実行されます。 これによって毎回elseifや==などの記述をしなくても比較できます。
上のswitch構文は以下のif構文の処理と同じです。
$a = 1; if($a == 0){ echo "aは0だ"; }elseif($a == 1){ echo "aは1だね"; }elseif($a == 2){ echo "aは2だよ"; }
どちらがわかりやすいか、書きやすいかは人それぞれだと思いますが、判定条件が多くなればなるほどswitch構文の方が読みやすいと思います。
switch構文でもif構文同様、文字列の比較をすることができます。
$a = "変数"; switch($a){ case "変数": echo "aは変数だよ"; break; case "分数": echo "aは分数だね"; break; }
この実行結果は「aは変数だね」です。
また、if構文のelseに対応するものとしてdefaultというものがあります。
$a = "ユウ"; switch($a){ case "カニモモンガ": echo "aはカニモモンガだよ"; break; default: echo "aはカニモモンガじゃない"; }
defaultを記述し、その後に処理を記述することで条件に合致しない場合の処理を書くことが出来る。
switch構文まとめ
さて、ここまできたらもう既にくじ引きゲームを作れる技術は身についてるハズだ。 と、そのまえにひとつランダムな数字を取得する方法を覚えてほしい。
//乱数発生 $random_num = mt_rand(0,4);
これを実行すると$random_numには0から4のランダムな数字が代入される。 これをつかってくじ引きをしたいと思う。
概要はこうだ。 1.ランダムな数字を作成 2.ランダムな数字を条件で判定し、数字ごとにメッセージを表示
では、書いてみよう。
//乱数発生 $random_num = mt_rand(0,4); echo "乱数は" .$random_num ."<br />"; //条件で判定 switch($random_num){ case 0: echo "大当たり!グアム旅行に行っちゃおう!自分の金で"; break; case 1: echo "あたり。おめでとう!君の夢の中に行こうか?"; break; case 2: echo "そんなに急がなくてもだいじょうV♪"; break; case 3: echo "そろそろPHPにも慣れたかな?こんな感じでバリバリやっちゃえ!"; break; default: echo "残念。はずれ。罰ゲームしたい?じゃぁ…腕立て伏せ千回ね。"; }
このコードを実行してみると、どれかの文字が表示されるよ。 そのページをもう一度更新すると文字が変わるはず(変わらない場合は何度か更新してみよう)
こんな感じでランダムに文字を表示する仕組みが出来上がり! ちょっとひねれば、スロットとかも出来ちゃうよ。
動画はこちら
じゃ、またね。
コメント 0
トラックバック 0
上に表示された文字を入力してください。
PHP講座 第1回 -変数-
PHP講座 第3回 -データ送受信-
カニモモンガの技術めも 横浜市在住の薬学生Developer. 第100回薬剤師国家試験合格。 卒業してCEOになったよ。 毎日エンジョイしてる。 最近はもっぱらサーバー周りのこととかPHPとか。
return top
コメント 0