複数条件のあるswitch文で実行結果がおかしいとき

次の例では、switch文による条件分岐がうまくいかず、おみくじの結果が「大当たり中当たりハズレ」のようにすべて表示されてしまいます。

<?php
$a = mt_rand(1, 5);
switch ($a) {
    case 1:
        echo "大当たり";
    case 2:
        echo "中当たり";
    default:
        echo "ハズレ";
}
?>

switch文で条件分岐させるには、それぞれのcaseの最後にbreak文を追加して、1つの条件に当てはまったらswitch文を抜けるようにする必要があります。

<?php
$a = mt_rand(1, 5);
switch ($a) {
    case 1:
        echo "大当たり";
        break; // 追加
    case 2:
        echo "中当たり";
        break; // 追加
    default:
        echo "ハズレ";
}
?>
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク