PHP 速習チュートリアル

PHP continue 文

1. PHP continue ステートメントの概要

PHP の continue ステートメントは、ループの現在の反復(イテレーション)をスキップし、直ちに次のイテレーションへと処理を進めるために使用されます。

continue ステートメントは、以下のループ構造内で利用可能です:

  • for ループ
  • while ループ
  • do...while ループ
  • foreach ループ

2. for ループにおける continue

for ループ内で continue ステートメントを使用すると、現在のループ内での残りの処理を飛ばし、増分(インクリメント)処理と条件判定のステップへ即座に移動します。

2.1 例:$x = 4 の時にスキップして次の反復へ進む

以下のコードでは、数値が 4 の時だけ出力処理をスキップします。

for ($x = 0; $x < 10; $x++) {
  if ($x == 4) {
    continue;
  }
  echo "数値は: $x <br>";
}

3. while ループにおける continue

while ループ内でも continue ステートメントは現在の反復をスキップします。ただし、インクリメント処理(カウンターの更新)の位置に注意が必要です。

3.1 例:$x = 4 の時にスキップして次の反復へ進む

$x = 0;

while($x < 10) {
  if ($x == 4) {
    // 注意: ここで $x++ を行わないと、この条件で無限ループに陥る可能性があります
    $x++; 
    continue;
  }
  echo "数値は: $x <br>";
  $x++;
}

4. do...while ループにおける continue

do...while ループ内で continue ステートメントが実行されると、残りのコードをスキップして、最下部の while 条件判定へとジャンプします。

4.1 例:$i が 3 の時にスキップして次の反復へ進む

$i = 0;

do {
  $i++;
  if ($i == 3) continue;
  echo $i;
} while ($i < 6);

5. foreach ループにおける continue

配列を走査する foreach ループでは、特定の要素に対して処理を行いたくない場合に continue ステートメントが非常に有効です。

5.1 例:$value が "blue" の時にスキップして次の反復へ進む

特定の色の時だけ処理をスキップし、次の配列要素へと進む例です:

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {
  if ($value == "blue") continue;
  echo "$value <br>";
}