PHP 中的 continue 语句让程序在循环中跳过当前迭代的代码块。每当条件满足时,Continue 语句就会将程序带到循环的开头。

当在嵌套循环(循环内循环)中使用 continue 语句时,它将跳过最内层循环的代码块,如下所示条件满足。

使用While循环continue语句

在下面的示例中,如果变量j 变为 4。

<?php
$j = 0;
while ($j < 6){
  $j++;
  if($j == 4){
    echo "本次迭代被跳过.\n"; 
    continue;
  }
  echo $j."\n"; 
}
?> 

上述代码的输出将是:

1
2
3
本次迭代被跳过.
5
6 

Continue 语句与 For 循环

在下面的示例中,使用了 continue 语句如果变量i的值变为4,则跳过for循环。

<?php
for ($i = 1; $i <= 6; $i++){
  if($i == 4 ){
    echo "本次迭代被跳过.\n"; 
    continue;
  }
  echo $i."\n"; 
}
?> 

上述代码的输出将是:

1
2
3
本次迭代被跳过.
5
6 

Continue 语句和嵌套循环

只要满足条件,Continue 语句就会跳过内部循环的代码块。在下面提到的示例中,程序仅当 j = 100 时才跳过内循环。

<?php
//不带 continue 语句的嵌套循环
echo "# 没有 continue 语句的嵌套循环\n";
for ($i = 1; $i <= 3; $i++){
  for ($j = 10; $j <= 1000; $j = $j * 10){
    echo $i*$j."\n"; 
  }
}
?> 

上述代码的输出将是:

# 没有 continue 语句的嵌套循环
10
100
1000
20
200
2000
30
300
3000 
再看带有 continue 语句的嵌套循环
<?php
//带有 continue 语句的嵌套循环
echo "# 带有 continue 语句的嵌套循环\n";
for ($i = 1; $i <= 3; $i++){
  for ($j = 10; $j <= 1000; $j = $j * 10){
    if($j == 100) {
       continue;
    }
    echo $i*$j."\n"; 
  }
}
?> 

上面的代码将是:

# 带有 continue 语句的嵌套循环
10
1000
20
2000
30
3000