switch

switch文は、「もし~ならば~を行う」というような条件分岐処理を行う制御構文のひとつ。等価演算子を条件式に使ったif文とelseif文を並べるのと似ているが、switch文は、ひとつの変数もしくは式の値に対し、等価比較条件をいくつか設定し、変数や式の値に応じて処理を振り分ける際に便利だ。

使い方

基本

switch ( 変数もしくは式 ) {
    case 値A:
        変数もしくは式の値が、値Aと等しいときの処理
        break;
    case 値B:
        変数もしくは式の値が、値Bと等しいときの処理
        break;
    case 値C:
        変数もしくは式の値が、値Cと等しいときの処理
        break;
}

複数の値に対し同じ処理

switch ( 変数もしくは式 ) {
    case 値A:
    case 値B:
    case 値C:
        変数もしくは式の値が、値A、値B、値Cのいづれかのときの処理
        break;
    case 値D:
    case 値E:
        変数もしくは式の値が、値D、値Eのいづれかのときの処理
        break;
}

デフォルトの処理を指定

default文を使う。

switch ( 変数もしくは式 ) {
    case 値A:
        変数もしくは式の値が、値Aと等しいときの処理
        break;
    case 値B:
        変数もしくは式の値が、値Bと等しいときの処理
        break;
    default:
        変数もしくは式の値が、値Aでも値Bでもないときの処理
        break;
}

サンプル

基本

<?php
$var = 1;
switch ( $var ) {
    case 0:
        echo '$varの値が「0」のときの処理';
        break;
    case 1:
        echo '$varの値が「1」のときの処理';
        break;
    case 2:
        echo '$varの値が「2」のときの処理';
        break;
}
?>

↓↓↓出力結果↓↓↓

$varの値が「1」のときの処理

複数の値に対し同じ処理

<?php
$var = 'ギター';
switch ( $var ) {
    case 'サッカー':
    case '野球':
    case 'テニス':
        echo '<p>スポーツは楽しいよね。</p>';
        break;
    case 'ピアノ':
    case 'ギター':
    case 'バイオリン':
        echo '<p>私も音楽大好きです。</p>';
        break;
}
?>

↓↓↓出力結果↓↓↓

私も音楽大好きです。

デフォルトの処理を指定

<?php
$var = 5;
switch ( $var ) {
    case 0:
        echo '$varの値が「0」のときの処理';
        break;
    case 1:
        echo '$varの値が「1」のときの処理';
        break;
    case 2:
        echo '$varの値が「2」のときの処理';
        break;
    default:
        echo '$varの値が、「0、1、2」の何れでもないときの処理';
        break;
}
?>

↓↓↓出力結果↓↓↓

$varの値が、「0、1、2」の何れでもないときの処理

スポンサード リンク

カテゴリー: PHP, switch, 制御構造 タグ: パーマリンク