当前位置:Gxlcms > PHP教程 > 循环 break的疑惑

循环 break的疑惑

时间:2021-07-01 10:21:17 帮助过:24人阅读

for($i = 1;$i <= 10; $i++ ){
echo 'print times';//结果是 print times 重复 10 次
}

for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo "$m ";
if($m < 90 || $m > 190) {
break 2;
}
  echo 'print times';//结果是 2 ,跳出 第 2 层循环后,为什么第 1 层循环的中打印句没有执行呢?
}


回复讨论(解决方案)

for($i = 1;$i <= 10; $i++ ){  for($j = 1;$j <= 10;$j++){    $m = $i * $i + $j * $j;    echo "$m  ";    if($m < 90 || $m > 190) {      break 2; //跳出2层循环,也就是跳到 第1层循环结束    }  } //这是第2层循环结束 echo 'print times';} //这是第1层循环结束
break 2; 中的 2 是量词,是2层循环的意思。不是数词,即不是第2层的意思

同样的例子:
//设置编码为UTF-8,以避免中文乱码
header('Content-Type:text/html;charset=utf-8');
//执行嵌套循环,外层循环3次,内层循环2次。当执行到第2次外层循环时,使用break 2跳出,直接跳出2层循环
for ($i = 0; $i < 3; $i++){
echo '外层循环'.$i.' 开始
';
for ($j = 0; $j < 2; $j++){
if ($i == 1){
break 2; //使用break 2直接跳出2层循环
}
echo '内层循环'.$i.'-'.$j.'
';
}
echo '外层循环'.$i.' 结束

';
}
?>
结果:
外层循环0 开始
内层循环0-0
内层循环0-1
外层循环0 结束

外层循环1 开始

人气教程排行