LoginSignup
4
7

More than 5 years have passed since last update.

条件分岐「PHP」、、if文とswitch文

Last updated at Posted at 2014-05-04

ここでは条件分岐の方法として「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「凶」

4
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7