本記事では、ループ処理の途中で、残りの処理をスキップして次のループ処理に移る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入門 最初のキホンがやさしくわかる [ オフィス加減 ] 価格:1,980円 |
確かな力が身につくPHP「超」入門 第2版 [ 松浦健一郎 ] 価格:2,860円 |