制御構造
PHP Manual

continue

(PHP 4, PHP 5)

continue は、ループ構造において現在の繰り返しループ の残りの処理をスキップし、条件式を評価した後に 次の繰り返しの最初から実行を続けるために使用されます、

注意: PHP では、continue の動作に関しては switch 文がループ構造とみなされるということに注意しましょう。

continueでは、オプションの引数で 処理をスキップするループ構造のレベルの数を指定できます。

注意:

continue 0; および continue 1; は、 単に continue; を実行するのと同じです。

<?php
while (list($key$value) = each($arr)) {
    if (!(
$key 2)) { // キーが偶数の組をスキップします
        
continue;
    }
    
do_something_odd($value);
}

$i 0;
while (
$i++ < 5) {
    echo 
"Outer<br />\n";
    while (
1) {
        echo 
"&nbsp;Middle<br />\n";
        while (
1) {
            echo 
"&nbsp;&nbsp;Inner<br />\n";
            continue 
3;
        }
        echo 
"This never gets output.<br />\n";
    }
    echo 
"Neither does this.<br />\n";
}
?>

continue の後のセミコロンを省略すると混乱を生じることがあります。 以下の例のようなことをしてはいけません。

<?php
for ($i 0$i 5; ++$i) {
    if (
$i == 2)
        continue
    print 
"$i\n";
}
?>

これは、以下のような結果になることを期待していたのでしょう。

0
1
3
4

しかし、このスクリプトの出力は以下のようになります。

2

continue print "$i\n"; は全体でひとつの式として評価されるので、 print がコールされるのは $i == 2 が true のときだけです (print の返り値が continue への数値引数として渡されます)。

continue の変更履歴
バージョン 説明
5.4.0 数値引数の部分に変数を渡すこと (例: $num = 2; continue $num;) ができなくなりました。


制御構造
PHP Manual