プログラミング PHP

【PHP入門】ループのスキップ(continue文)

本記事では、ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介します。

繰り返しを中断し、次の処理に移る(continue文)

continue文はループそのものを中断するのではなく、continue以降の処理をスキップし、次の処理に移ります。

ある条件のときだけ、ループ内の処理をさせない時に「continue」を使います。

[continue文の使用例]

次の例では「$i == 2」の条件に一致するときだけ、continue以降の処理をスキップしています。

<?php
 for ($i = 0; $i < 5; $i++) {
  if ($i == 2) {
   continue;
  }
 print("iの値: ".$i."<br>");
 }
?>

[実行結果]

iの値: 0
iの値: 1
iの値: 3
iの値: 4

ループを抜ける(中断する)break文とは違い、continue文はcontinue以降の処理をスキップし次の処理に移るので、ループからは抜けません。

多重ループをスキップ

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

■多重ループ内での「continue」の動き

while (条件1) {
 while (条件2) {
  continue;  // 以降の処理をスキップし、次の回(条件2)に移る
  ( 処理1 )
 }
 ( 処理2 )
}

「continue」の場合は、一番近いループ「while (条件2)」に戻ります。

■多重ループ内での「continue 2」の動き

while (条件1) {
 while (条件2) {
  continue 2;  // 以降の処理をスキップし、次の回(条件1)に移る
  ( 処理1 )
 }
 ( 処理2 )
}

「continue 2」の場合は、2番目に近い(※引数で指定した数分)ループ「while (条件1)」に戻ります。

ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介しました。
PHPを学習されている方のお力になれれば幸いです。

学習書の紹介

-プログラミング, PHP