continue文について
回層上の forまで抜けるよ
break文の場合はその時点でループを終了するという意味になります。
これに対し、continue文を使用するとループを抜けずに、以降の処理をスキップして次のループに進むということができます。
以下は break文を使用した場合です。
<?php
for($i = 1; $i = 5){
echo “echo2 値: $i
“;
break;
}
}
?>
値が 5に達すると、ループを終了しているので
結果は以下のように 値が 6以上は出力されません。
[styled_images width=”300″ height=”250″]
[image title=”ブラウザ確認画像”]https://techpjin.sakura.ne.jp/techpjin_new/wp-content/uploads/2012/12/5_break.jpg[/image]
[/styled_images]
[clearboth]
これを continue文で記述するとループは抜けずに、continue以降に書いた処理はスキップされますが、
ループ処理自体は継続していることが分かります。
<?php for($i = 1; $i <= 10; $i++){ echo "値: $i<br>"; if($i >= 5){ continue; } echo "continue後の出力<br>"; } ?>
continueも breakと同じように引数に数値を使用することで何階層の for文までスキップするかを指定することができます。
下記では for文をスキップするのを 1階層だけにしているので、処理の内容は変わりません。
<?php for($i = 1; $i <= 6; $i++){ for($s = 1; $s <= 3; $s++){ echo "i == $i, s == $s<br>"; continue; } echo "continue後の処理<br>"; } ?>
結果は以下のようになります。
以下ではスキップを 2階層上の forまでスキップしています。
continue 2 にすると、continue後の処理 と記述している箇所が行われずに、2回層上の forまでスキップします。
<?php for($i = 1; $i <= 6; $i++){ for($s = 1; $s <= 3; $s++){ echo "i == $i, s == $s<br>"; continue 2; } echo "continue後の処理<br>"; } ?>
結果は以下のようになります。