PHP

【PHPの基礎】switch文(条件分岐を行う構文)をマスターしよう!

今回解決できる内容!

✔️switch文とは

✔️switch文の使い方

✔️switch文とif文の違い

今回はswitch文をご説明します!

実際の開発でも使うことがありますので是非マスターしましょう!

これから仕事と両立してスキルを身につけたい方は下記に相談してみましょう。

>>【DMM WEBCAMP】 完全未経験からエンジニアを目指したい方へ!

※無料カウンセリングで、今悩んでいることを気軽にプロに相談できます

【基礎編】switch文のとは

switch文とはif文と同じように条件分岐を行う構文です。

switch文は指定した式の値に応じた処理を記述することで、条件分岐を簡潔に記述することができます

実際の使い方を確認してみましょう

【基礎編】switch文の使い方

switch文の書き方は下記の通りです。

switch ( 式 )
{
case 値1
// 「式 = 値1」のときに実行される処理
break;

case 値2:
// 「式 = 値2」のときに実行される処理
break;
・
・
・

default:
// 式の値が上記のどれとも等しくない場合に実行される処理
break;
}

実際のコードで確認してみましょう!

<?php

    $time = 12;
    switch ($time){
        case 9:
            echo "午前";
            break;
        case 12:
            echo "正午";
            break;
        case 13:
            echo "午後";
            break;

        default:
            echo "それ以外";
    }

?>

結果は下記の通りです。

switch()のカッコ内に判定したい変数や値を入れます。今回は「$time」を判定します。

case9とすると、「$time==9」の判定を行い、TRUEの場合は「:(コロン)」以降のプログラムを実行します。この時、switch文を抜けるbreak文を忘れずに記載します。

今回は「$time==9」がFALSEのため、次のcaseに移ります。

これを繰り返していき、判定がTRUEとなった「正午」が出力されます。

上記のコードをif文を使って記述してみましょう!

<?php

    $time = 12;
    if($time==9){
            echo '午前';
    }elseif($time==12){
            echo '正午';
    }elseif($time==13){
            echo '午後';
    }else{
            echo 'それ以外';
    }

?>

今回は条件が少ないためにあまり違いは分かりづらいですが、条件が増えてくるとソースコードの可読性に難が出てきます。

複数分岐の際はswitch文で書いたほうが読みやすくなります。

【応用編】switch文の注意点

先程の例で説明したように、switch文では

「==」という型を判定しない方法で判定が行われます。

整数の1と文字列の1は同じものと判定されますし、論理値のTRUEと文字列のTRUEも等しいものと判定されます。

セキュリティ面を考慮する場合はif文を使用するようにしましょう!

if文の詳細に関しては下記の記事を参考にして下さい!

>>【PHPの基礎】if文をマスターしよう!

独学につかれた方へ

まとめ

今回説明した内容

✅switch文の使い方

✅switch文の注意点

今回は以上になります。

switch文はif文と一緒に是非マスターしましょう!