【作って納得!PHP入門】switch文を使ってみよう(条件分岐)

PHP

この記事では、PHPでswitch文を使う方法について書いています。

最初にswitch文についての説明をします。
そのあとにswitch文を使用した、簡単なプログラムを作成して、switch文について学んでいきます。

■この記事の目標(作るもの)について
switch文を使用した簡単なプログラムを作成し、下記のように画面に結果を出力して確認します。
PHPのswitch文のテスト画面

PR

PHPのswitch文とは?

PHPのswitch文も他の言語と同じように、条件分岐するために使用します。
switch文に単一の変数を渡して、caseで条件分岐します。

下記のように、変数を渡して、それぞれのcaseで分岐します。

switch(変数) {
    case ケース1:
        echo "何らかの処理1";
        break;
    case ケース2:
        echo "何らかの処理2";
        break;
    case ケース3:
        echo "何らかの処理3";
        break;
    default:
        echo "どれにも当てはまらない場合";
}

switchを抜ける場合はbreakが必要で、breakがない場合は下に処理が続いていきます。
breakがない場合を考えてみると、例で言うと、ケース1の条件に合致した場合に、“何らかの処理1”,”何らかの処理2″…と後続処理も行われて、続けて出力されていきます。

defaultを書くこともできて、default文は、どのcaseにも一致しない場合に処理されます。

PR

PHPでswitch文を使ってみよう

実際にswitch文を使用して、処理を書いてみましょう。
前回作成したcodelike_web_dockerの配下に、switch_sweets.phpという名前で下記の内容で保存します。

<?php

echo "switch test1<br />";

$sweets = "cookie";
switch ($sweets) {
    case "chocolate":
    echo "チョコレートです。"."<br />";
        break;
    case "cookie":
    echo "クッキーです。"."<br />";
        break;
    case "candy":
    echo "キャンディです。"."<br />";
        break;
}

echo "<br />switch test2<br />";

$sweets = "apple";
switch ($sweets) {
    case "chocolate":
    echo "チョコレートです。"."<br />";
        break;
    case "cookie":
    echo "クッキーです。"."<br />";
        break;
    case "candy":
    echo "キャンディです。"."<br />";
        break;
    default:
    echo "お菓子ではないです。"."<br />";
        break;
}

echo "<br />switch test3<br />";

$sweets = "candy";
switch ($sweets) {
    case "chocolate":
    case "cookie":
    case "candy":
    echo "お菓子です。"."<br />";
        break;
    default:
    echo "お菓子ではないです。"."<br />";
        break;
}

解説

コードの説明です。
$sweetsという変数を用意して、それぞれswitch文にかけて動作を確認できるものを作成しました。

caseの確認箇所

最初は、$sweetsには“cookie”を格納しています。
case文として、“chocolate”,”cookie”,”candy”を用意しています。
2番目の“cookie”のケースに合致するため、ここでは“クッキーです。”が出力されて処理が終わります。

defaultの確認箇所

次は、$sweets“apple”を格納しています。
同じようにケースを用意していますが、ここではdefaultの項目を追加しています。

// ----- 省略 -----
   default:
    echo "お菓子ではないです。"."<br />";
        break;
}

ここでは、$sweetsの値がどのケースにも属さないため、“お菓子ではないです。”が出力されます。

複数caseの確認箇所

次は、$sweets“candy”を格納しています。
ここでは、3つのそれぞれのケースをまとめてみました。

$sweetsの値は“candy”なので“お菓子です。”が出力されて処理が終わります。
breakがない場合は、処理が下に処理が続いていくので、“chocolate”,”cookie”,”candy”のどれでも“お菓子です。”になります。

動作確認

想定通りの結果が出力されているか確認してみましょう。前回作成した環境を立ち上げます。
switch_sweets.phpの編集が終わったら、保存して下記にアクセスします。

`http://localhost:8080/switch_sweets.php`

想定した結果が返ってきました!

おわりに

今回はswitch文を見ていきました。
単純なif文を沢山書くような場合は、switch文を使用した方が、すっきり書くことができるので積極的に使っていきましょう。

その他のPHP入門のオススメ記事

そのほかに、このブログで書いているオススメ記事をご紹介します。

for文を使ってみよう

次回は作った環境を使用して、PHPのfor文を使ってみましょう。

PHP入門の記事一覧に戻る

他のPHP入門記事もありますので、合わせてご確認ください。

参考

公式ドキュメント – switch
PHP: switch - Manual
PHPプログラミング初心者
PR
独学に限界を感じたら、オンラインのプログラミングスクールへ...
  • Code ViIlage
      挫折させない本気のプログラミングスクール。学習継続率93.3%・卒業生800名以上。
  • DMM WEBCAMP
      働きながら自分のペース学んでエンジニア転職。無料カウンセリング満足度99%!
  • TECH CAMP
      無料カウンセリング満足度95%!本業に活かせる。キャリアアップにつながる。
  • TechAcademy
      現役エンジニアから学べるオンラインに特化したプログラミングスクール。
  • テックパートナーズカレッジ
      WEBシステム開発会社のノウハウが学べるオンラインスクール。14日無料体験有り!
\ PHP・Laravelに特化したオンラインスクール /
yasuakiをフォローする
コードライク

コメント

タイトルとURLをコピーしました