switch文は、開き波括弧{
をコロン(:
)、閉じ波括弧}
をendswitch;
に変更することができる。
switch文内で、PHPブロックとHTMLブロックを分ける際の、endswitch;
の使い方とサンプルについて。
PHPブロックとHTMLブロックを分けない際のendswitch;
は、、endswitch(PHPブロックのみ)のページへ。
使い方
基本
<?php
switch ( 変数もしくは式 ):
case 値A:
?>
変数もしくは式の値が、値Aと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値B: ?>
変数もしくは式の値が、値Bと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値C: ?>
変数もしくは式の値が、値Cと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
switch ( 変数もしくは式 ):
case 値A:
?>
変数もしくは式の値が、値Aと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値B: ?>
変数もしくは式の値が、値Bと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値C: ?>
変数もしくは式の値が、値Cと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
複数の値に対し同じ処理
<?php
switch ( 変数もしくは式 ):
case 値A:
case 値B:
case 値C:
?>
変数もしくは式の値が、値A、値B、値Cのいづれかのときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値D: ?>
<?php case 値E: ?>
変数もしくは式の値が、値D、値Eのいづれかのときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
switch ( 変数もしくは式 ):
case 値A:
case 値B:
case 値C:
?>
変数もしくは式の値が、値A、値B、値Cのいづれかのときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値D: ?>
<?php case 値E: ?>
変数もしくは式の値が、値D、値Eのいづれかのときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
デフォルトの処理を指定
default文を使う。
<?php
switch ( 変数もしくは式 ):
case 値A:
?>
変数もしくは式の値が、値Aと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値B: ?>
変数もしくは式の値が、値Bと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php default: ?>
変数もしくは式の値が、値Aでも値Bでもないときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
switch ( 変数もしくは式 ):
case 値A:
?>
変数もしくは式の値が、値Aと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php case 値B: ?>
変数もしくは式の値が、値Bと等しいときに、呼び出すHTMLブロック
<?php break; ?>
<?php default: ?>
変数もしくは式の値が、値Aでも値Bでもないときに、呼び出すHTMLブロック
<?php break; ?>
<?php endswitch; ?>
サンプル
基本
<?php
$var = 1;
switch ( $var ):
case 0:
?>
<p>$varの値が「0」のときの処理</p>
<?php break; ?>
<?php case 1: ?>
<p>$varの値が「1」のときの処理</p>
<?php break; ?>
<?php case 2: ?>
<p>$varの値が「2」のときの処理</p>
<?php break; ?>
<?php endswitch; ?>
$var = 1;
switch ( $var ):
case 0:
?>
<p>$varの値が「0」のときの処理</p>
<?php break; ?>
<?php case 1: ?>
<p>$varの値が「1」のときの処理</p>
<?php break; ?>
<?php case 2: ?>
<p>$varの値が「2」のときの処理</p>
<?php break; ?>
<?php endswitch; ?>
↓↓↓出力結果↓↓↓
$varの値が「1」のときの処理
複数の値に対し同じ処理
<?php
$var = 'ギター';
switch ( $var ):
case 'サッカー':
case '野球':
case 'テニス':
?>
<p>スポーツは楽しいよね。</p>
<?php break; ?>
<?php case 'ピアノ': ?>
<?php case 'ギター': ?>
<?php case 'バイオリン': ?>
<p>私も音楽大好きです。</p>
<?php break; ?>
<?php endswitch; ?>
$var = 'ギター';
switch ( $var ):
case 'サッカー':
case '野球':
case 'テニス':
?>
<p>スポーツは楽しいよね。</p>
<?php break; ?>
<?php case 'ピアノ': ?>
<?php case 'ギター': ?>
<?php case 'バイオリン': ?>
<p>私も音楽大好きです。</p>
<?php break; ?>
<?php endswitch; ?>
↓↓↓出力結果↓↓↓
私も音楽大好きです。
デフォルトの処理を指定
<?php
$var = 5;
switch ( $var ):
case 0:
?>
<p>$varの値が「0」のときの処理</p>
<?php break; ?>
<?php case 1: ?>
<p>$varの値が「1」のときの処理</p>
<?php break; ?>
<?php case 2: ?>
<p>$varの値が「2」のときの処理</p>
<?php break; ?>
<?php default: ?>
<p>$varの値が、「0、1、2」の何れでもないときの処理</p>
<?php break; ?>
<?php endswitch; ?>
$var = 5;
switch ( $var ):
case 0:
?>
<p>$varの値が「0」のときの処理</p>
<?php break; ?>
<?php case 1: ?>
<p>$varの値が「1」のときの処理</p>
<?php break; ?>
<?php case 2: ?>
<p>$varの値が「2」のときの処理</p>
<?php break; ?>
<?php default: ?>
<p>$varの値が、「0、1、2」の何れでもないときの処理</p>
<?php break; ?>
<?php endswitch; ?>
↓↓↓出力結果↓↓↓
$varの値が、「0、1、2」の何れでもないときの処理