SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【php】switch文の中でcontinue

PHPのマニュアルより

http://jp2.php.net/manual/ja/control-structures.switch.php

注意: 他の言語とは違って、 continue命令は switchにも適用され、breakと同じ動作をします。 ループの内部でswitchを使用しており、 外側のループの処理を続行させたい場合には、continue 2 を使用してください。

便利なのか。 ひっかけ問題なのか。

switch文の中でcontinueしてみる

for文をcontinueする意図で使用。1,2,3,4の3をスキップしたい。

for ($i=1; $i<=4; $i++) {
    switch($i) {
        case 3:
            continue; //switchを抜けるだけ
            break;
    }
    echo $i;
}
//出力結果:1234

正しいソース

正しく1,2,3,4の3をスキップさせる。

for ($i=1; $i<=4; $i++) {
    switch($i) {
        case 3:
            continue 2; //switchを抜けて、forをcontinue
            break;
    }
    echo $i;
}
//出力結果:124

こんなソースに出くわしたときや、罠を仕掛けたいときなどに思い出してください。

関連するメモ

コメント