PHP - switch

公開日:2020-12-22 更新日:2020-12-22
[PHP]

1. 概要

switch を使うと、値によって、処理を複数に分岐できます。

2. 基本

switch で指定された値と一致する case が実行されます。
各 case の最後には、break を付けます。
break を付けない場合、それ以降の処理が case を無視して実行されますので、必ず break を付けるようにしてください。
もし意図的に break をはずす場合は、コメントで説明を書くようにしてください。
他の人が見た時や、あとから見た時に、意図的なのか付け忘れなのかを考える必要が出てくるため。
こう言った心配事をなくすため、switch を使わずに if を使う場合もあります。
$comp = (5 <=> 1); // UFO演算子 1, 0, -1 が返る
switch ($comp) {
  case 1:
    print("左辺が大きい\n");
    break;
  case 0:
    print("等しい\n");
    break;
  case -1:
    print("右辺が大きい\n");
    break;
}
実行結果
左辺が大きい

上記の3つの break をはずすと、次のような結果になります。
左辺が大きい
等しい
右辺が大きい

3. default

該当する case がない場合は、default が実行されます。

$s = 'banana';
switch ($s) {
  case 'apple':
    print('りんご');
    break;
  case 'orange':
    print('みかん');
    break;
  default:
    print('その他');
}
実行結果
その他