見出し画像

【 PHP学習 #8 】 「switch文は使わない」 FIREへの旅路 ♯458

switch文はif文に近い役割を持っています。
基本的には、if文を使う方がわかりやすいので、switch文は知っておくだけで良いでしょう。

▶︎ 書き方

<?php

//switch文

$data = 1;

switch ($data) {
    case 1:
        echo '1です';
        break;

    case 2:
        echo '2です';
        break;

    case 3:
        echo '3です';
        break;

    default:
        echo '1-3ではありません';
        break;
}

変数を定義して、
switch文に入れます。
case 1 : の時は、'1です'とechoします。

このcase の後に続く値が、変数の値と一致しているかを判定し、指示を実行します。

どのcaseにも当てはまらない場合として、
default を設定します。

注意は、各caseの処理の最後に、breakを入れることです。


▶︎ caseの判別

case 1 としたときの、1は数字の1です。

では、$data = ' 1 ' と、文字列の1にした場合はどうなるかというと、

このように、同じ結果になります。

つまり、switch文のcaseの一致の判定は、== です。
型の一致までは見ていません。

型も一致した場合を条件にするには、

case $data === 1:

と、書くことで、=== の一致条件となり、型の一致も条件となります。


▶︎ if文を使う

switch文では、breakを書く必ず書く必要があったり、
===の判定にするために、コードを追記する必要があることから、ifで書く方がシンプルです。

$data = 1;

if($data === 1){
    echo '1です';
}

if($data === 2){
    echo '2です';
}

これで同じ結果が得られます。


【 まとめ 】

swich文は使わないということを学んだわけですが、使わないなら、学ぶ必要がないように感じます。

しかし、swich文は使わない方がいいことを知っておかないと、
使ってしまう可能性があるのです。

やらないことを知っておくのも、重要です。



この記事が気に入ったらサポートをしてみませんか?