ここでは条件分岐の方法として「if文」と「switch文」をまとめてみたいと思います。
if文、、、「もしも〜なら」
「if文」の様な条件分岐を言葉で説明すると分かりづらくなりそうなので、簡単なパターンを書いてみます↓
if (条件1) {
条件1をみたした時の処理;
} elseif (条件2) {
条件1は満たさなかったけど条件2は満たした時の処理
} else {
それ以外(条件1も条件2も満たさない)ときの処理
}
例、、、「今の時刻は18時以降?」の条件式の場合
<?php
$hour = date("G");
if ($hour >= 18) {
echo "こんばんは";;
} else {
echo "こんにちは";
} ///こんにちは
?>
最初の部分の
$hour = date(G);
はdate関数の最初のパラメーターに「G」を指定して、0から23までの「時」を返します。この数値を変数$hour
に格納して、それより下の「if」文の判断に利用しています。
ちなみに今が18時かどうか(18時に一致するか)を調べる時は比較演算子「==」を使って調べてみました。
<?php
$hour = date("G");
if ($hour == 18) {
echo "18時です";
} else {
echo "18ではありません";
}
?> ///18ではありません
比較に使う演算子は「=」では無く「==」を使います。「=」は変数に値を代入する「代入演算子」です。
「!=」で一致しない事をチェックする
以下一致しない事を調べる条件
<?php
$hour = date("G");
if ($hour != 12) {
echo "今はお昼ではありませんよ";
}
?> ///今はお昼ではありませんよ
switch文、、、「選択肢から1つを選ぶ」方法
曜日ごとに、違うメッセージを表示したい場合どうするか?、、if文を使っても出来るが、
switch文を使って「曜日という選択肢」からそれぞれの場合(ケース)の命令を作ってみる。
最初に↓
$a = date(w);
「date関数」で曜日番号を取得
これで「変数$a
が・・・
のときは」という意味になり、曜日に応じて処理が分岐する。
例を下に作ってみます(月曜日に作りました)↓
<?php
$a = date("w");
switch ($a) {
case '0':
echo "今日は日曜日です";
break;
case '3':
echo "今日は水曜日です";
break;
default:
echo "今日は「日、水」以外の曜日です";
break;
}
?> // 今日は「日、水」以外の曜日です
switch文でおみくじを作ってみる
最初に実行してる「mt_rand関数」は指定した範囲の数値をランダムに作成します。
mt_rand(1,3)
の場合、実行するたびに1〜3までの数値がランダムに作成されます。
<?php
$a = mt_rand(1, 3);
switch ($a) {
case '1':
echo "大吉";
break;
case '2':
echo "吉";
break;
default:
echo "凶";
break;
}
?> // 「大吉」or「吉」or「凶」