continue
continue文
continue文ループ構造の中で現在のループ処理をスキップ(飛ばす)し、次のループから処理を続けるための文です。
break文が現在の構造を終了させるますが、continueは構造自体を終了させるのではなく、任意の処理を飛ばして元のループに戻ります。
基本の構文
以下のサンプルは1~6の数字のうち、 4 以外を出力します。
- $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」とみなされ、現在の構造のみ抜けます。
- $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を使います。





