continue
Home >> PHP言語リファレンス >> PHPの制御構造 >> continue

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

$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

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

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

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