continueは、ループ構造において現在の繰り返しループ の残りの処理をスキップし、条件式を評価した後に 次の繰り返しの最初から実行を続けるために使用されます、
注意: switch 命令はループ構造におけるcontinueの効果 を考慮してつくられていることに留意してください。
continueでは、オプションの引数で 処理をスキップするループ構造のレベルの数を指定できます。
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 " Middle<br />\n";
while (1) {
echo " 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
これは、print()コールの返り値が int(1) であり、前記のオプションの数値引数のように 見えてしまうためです。