【if/switch】PHPの条件分岐【現役エンジニアが解説】

PROGRAM

今回は、PHPの条件分岐について、if文とswitch文の場合に分け、簡単に解説していきます。

if文で書く場合

PHPの分岐処理は二通りの書き方がありますが、通常はif文で書きます。

if文では、”if()”で条件を指定し、”else if()”で分岐をさらに増やせ、”else”で残りの分岐を設けることができます。

if ($fruit == "apple") {
    echo "りんご";
} else if ($fruit == "banana") {
    echo "ばなな";
} else {
    echo "その他";
}

上記のコードでは、$fruitという変数の値によって、出力する内容を変え、値が”apple”と”banana”以外の場合、”その他”と出力しています。

switch文で書く場合

PHPの分岐処理では、if文とは異なる書き方にswitch文があります。

switch文では、条件の対象となる変数を”switch()”の()内に指定し、それに対し、”case 値”で各値によって分岐、残りの分岐は”default”で行います。

switch ($fruit) {
    case "apple":
        echo "りんご";
        break;
    case "banana":
        echo "ばなな";
        break;
    default:
        echo "その他";
}

上記のコードでは、$fruitという変数の値によって、出力する内容を変えていますが、switch文はif文とは異なり、複数のcaseにヒットする場合があるため、default以外には全てbreak文を入れておく必要があります。

値ではなく範囲の分岐の場合

値の条件分岐であれば、if文でもswitch文でも可能です。

しかし、数値の範囲の条件分岐の場合には、switch文では対応できません。

if ($age < 20) {
    echo "未成年";
} else if ($age < 65) {
    echo "成人";
} else {
    echo "高齢者";
}

数値の範囲の条件で分岐を行う場合には、上記のコードのように、if文でのみ書くことが可能です。