大家都知道break是跳出循环,但是多重循环时break是什么情况?
for ($i = 0;$i<10;$i++){
echo "i:".$i."<br>";
for ($j = 0;$j<10;$j++){
echo "j:".$j."<br>";
for ($k = 0;$k<10;$k++){
echo "k:".$k."<br>";
if ($k == 2){
echo "ssssssdfsdgs<br>";
break;
}
}
}
}
结果如下
i:0
j:0
k:0
k:1
k:2
ssssssdfsdgs
j:1
k:0
k:1
k:2
ssssssdfsdgs
j:2
k:0
k:1
k:2
跳出了k那层循环而已,继续执行j层的循环。
将break 改成 break 1结果仍旧跟上面一样。
将break 改成 break 2
i:0
j:0
k:0
k:1
k:2
ssssssdfsdgs
i:1
j:0
k:0
k:1
k:2
ssssssdfsdgs
i:2
j:0
直接跳出了j层的循环
那么break 3呢
i:0
j:0
k:0
k:1
k:2
ssssssdfsdgs
直接结束了。因为只有三层循环。
结论:默认break;跳出一层循环,等于 break 1;后面只能跟正整数,如果只有三层循环,使用break 4;会报错。