continue
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの制御構造 >> continue

continue

continue文

continue文ループ構造の中で現在のループ処理をスキップ(飛ばす)し、次のループから処理を続けるための文です。

break文が現在の構造を終了させるますが、continueは構造自体を終了させるのではなく、任意の処理を飛ばして元のループに戻ります。

基本の構文

以下のサンプルは1~6の数字のうち、 4 以外を出力します。

  1. $arr = array( 1,2,3,4,5,6 );
  2. foreach( $arr as $value ){
  3.   if( $value == 4 ){
  4.     continue; //$valueが4の処理をスキップ
  5.   }
  6. echo $value."<br />\n";
  7. }

出力結果

1
2
3
5
6

$valueが4の時にループ処理をスキップするので4以外が出力されます。

オプション引数

continue文でもオプションとして引数を渡す事ができ、ネスト(入れ子)したループ構造を強制的に抜ける事ができます。引数はcontinue文から見たループのレベルです。省略した場合は「1」とみなされ、現在の構造のみ抜けます。

  1. $i = 0;
  2. while( $i++ < 10 ){
  3.   while( $i <= 3 ){
  4.     continue 2; //最初のwhile構造までをスキップ
  5.   }
  6.   echo $i."<br />\n";
  7. }

出力結果

4
5
6
7
8
9
10

上のサンプルは、もともと1から10までの数をカウントアップしながら表示するスクリプトですが、その中に3以下の数値はスキップする処理が入っているので出力は4からになります。

「continue 2」の方はそのcontinueから見た2番目の構造、つまり最初のwhile文をスキップする事になります。

このように特定の処理をスキップしたい時にはcontinueを使いますが、ループを強制的に終了させるにはbreakを使います。

PHP5徹底攻略
PHP5徹底攻略 PHPのバイブル、赤マンモスです。
独習PHP
独習PHP 入門から、PEAR、Smartyまで。