PHPのcontinue文とは?ループ処理をスキップする使い方を実例付きで解説
はじめに
continue 文は、PHPのループ制御キーワードのひとつです。プログラムの実行フローがループ内で continue に到達すると、現在の反復(イテレーション)における残りの処理がすべてスキップされ、次の反復へと移ります。continue 文は while、do-while、for、foreach のいずれのループ構造でも使用できます。
条件分岐と組み合わせることで、「特定の条件に合致するデータだけ処理を飛ばしたい」という場面で非常に便利な制御構文です。
基本構文
while (expr)
{
..
..
if (expr1)
continue;
..
..
}
このように、continue 文は通常 if 文などの条件式と組み合わせて記述します。条件が真(true)と評価された場合にのみ、それ以降の処理がスキップされます。
使用例:1〜10のうち奇数だけを出力する
以下の例では、while ループのカウンター変数 $x が偶数になるたびに continue 文が実行され、echo 処理がスキップされます。その結果、1〜10 の範囲の奇数のみが出力されます。
<?php
$x=1;
while ($x<10){
$x++;
if ($x%2==0)
continue;
echo "x = $x" . "\n";
}
?>
出力結果
x = 3 x = 5 x = 7 x = 9
ネストしたループでの continue(レベル指定)
continue キーワードには、省略可能な数値引数を指定できます。この引数により、ネスト(入れ子)されたループのうち、いくつ外側のループまでスキップするかを制御できます。デフォルト値は 1 で、これは現在のループの次の反復へ進むことを意味します。
たとえば continue 2 と記述すると、内側のループだけでなく、その一つ外側のループも直ちに次の反復へ進みます。
以下の例では、二重の for ループの中で、内側のループにレベル引数を付けた continue を使用しています。
<?php
for ($i = 1;$i<=5;$i++) {
echo "Start Of outer loop\n";
for ($j=1;$j<=5;$j++) {
if ($j >3) continue 2;
echo "I : $i J : $j"."\n";
}
echo "End of inner loop\n";
}
?>
出力結果
Start Of outer loop I : 1 J : 1 I : 1 J : 2 I : 1 J : 3 Start Of outer loop I : 2 J : 1 I : 2 J : 2 I : 2 J : 3 Start Of outer loop I : 3 J : 1 I : 3 J : 2 I : 3 J : 3 Start Of outer loop I : 4 J : 1 I : 4 J : 2 I : 4 J : 3 Start Of outer loop I : 5 J : 1 I : 5 J : 2 I : 5 J : 3
$j が 4 を超えた時点で continue 2 が実行されるため、内側のループの残り処理と「End of inner loop」の出力がスキップされ、外側のループが直接次の反復へ進んでいることがわかります。
補足:break 文との違い
continue とよく比較されるのが break 文です。両者の違いは以下の通りです。
- break:ループ自体を完全に終了させる
- continue:現在の反復だけを中断し、ループは継続する
また、break 文も continue と同様に数値引数を受け取ることができ、「break 2」とすれば二重ループを一気に抜け出すことができます。用途に応じて両者を使い分けることで、より柔軟で読みやすいループ処理を記述できるようになります。
-
JavaScriptのbreak文・continue文・ラベル文の使い方を徹底解説
break文とはbreak文は、ループ処理を途中で強制的に終了させるための制御構文です。実行されると、その時点でループから抜け出し、ループを囲む閉じ波括弧(})の直後にある次の処理へと制御が移ります。条件によっては、残りの反復処理を実行する必要がないケースも多くあります。そんなときbreak文は非常に便利です。以下の例では、whileループと組み合わせてbreak文を使用しています。変数xが5に達した時点でループが即座に終了し、閉じ波括弧の直後にあるdocument.write()が実行される様子を確認してみましょう。サンプルコード<html> <b
-
【初心者向け】JavaScriptのcontinueステートメントの使い方を解説
continueステートメントとはJavaScriptのcontinueステートメントは、ループ処理の中で特定の条件が満たされた場合に、その回の処理(イテレーション)をスキップし、次の反復へ処理を移すために使用されます。breakステートメントがループ自体を抜けるのに対し、continueはあくまで「その回だけ」を飛ばしてループを継続する点が特徴です。この仕組みにより、不要なデータを除外しながら効率的に繰り返し処理を行うことができます。continueステートメントの実装例以下は、1から30までの数値の中から偶数のみを出力するサンプルコードです。奇数の場合にcontinueを使って処理をスキッ