目次
【 PHP学習 #8 】 「switch文は使わない」
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文は使わない方がいいことを知っておかないと、
使ってしまう可能性があるのです。
やらないことを知っておくのも、重要です。