欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

循环 break 的疑惑

程序员文章站 2022-05-31 14:33:45
...
for($i = 1;$i echo 'print times';//结果是 print times 重复 10 次
}

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


回复讨论(解决方案)

for($i = 1;$i  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 echo '外层循环'.$i.' 开始
';
for ($j = 0; $j if ($i == 1){
break 2; //使用break 2直接跳出2层循环
}
echo '内层循环'.$i.'-'.$j.'
';
}
echo '外层循环'.$i.' 结束

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

外层循环1 开始