endswitch(PHPブロックとHTMLブロック)

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; ?>

複数の値に対し同じ処理

<?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; ?>

デフォルトの処理を指定

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; ?>

サンプル

基本

<?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」のときの処理

複数の値に対し同じ処理

<?php
$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の値が、「0、1、2」の何れでもないときの処理

スポンサード リンク

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