continue
continue文
continue文ループ構造の中で現在のループ処理をスキップ(飛ばす)し、次のループから処理を続けるための文です。
break文が現在の構造を終了させるますが、continueは構造自体を終了させるのではなく、任意の処理を飛ばして元のループに戻ります。
基本の構文
以下のサンプルは1〜6の数字のうち、 4 以外を出力します。
<?php
$arr = array( 1,2,3,4,5,6 );
foreach( $arr as $value ){
if( $value == 4 ){
continue; //$valueが4の処理をスキップ
}
echo $value."<br>\n";
}
?>
出力結果
1
2
3
5
6
2
3
5
6
$valueが4の時にループ処理をスキップするので4以外が出力されます。
オプション引数
continue文でもオプションとして引数を渡す事ができ、ネスト(入れ子)したループ構造を強制的に抜ける事ができます。引数はcontinue文から見たループのレベルです。省略した場合は「1」とみなされ、現在の構造のみ抜けます。
<?php
$i = 0;
while( $i++ < 10 ){
while( $i <= 3 ){
continue 2; //最初のwhile構造までをスキップ
}
echo $i."<br>\n";
}
?>
出力結果
4
5
6
7
8
9
10
5
6
7
8
9
10
上のサンプルは、もともと1から10までの数をカウントアップしながら表示するスクリプトですが、その中に3以下の数値はスキップする処理が入っているので出力は4からになります。
「continue 2」の方はそのcontinueから見た2番目の構造、つまり最初のwhile文をスキップする事になります。
このように特定の処理をスキップしたい時にはcontinueを使いますが、ループを強制的に終了させるにはbreakを使います。


