7.PHP中 break 和 continue 的用法与区别
首先查手册,可知两者主要作用
break:结束当前 for,foreach,while,do-while 或者 switch 结构的执行。
continue:在循环结构用用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。
接下来分析两个例子:
例子一:
$i = 0;
while($i<10){
if($i == 5){break;
}
echo $i." ";
$i++;
}
输出结果为:0 1 2 3 4
当$i == 5时,break,跳出 while 循环
而将 break 换成 continue 进入了死循环,因为$i == 5时,continue,跳出本次循环,再次进入while循环(此时,$i 还是为5),如此反复。。。
可做如下修改
$i = 0;
while($i<10){
if($i == 5){
$i++;
continue;
}
echo $i." ";
$i++;
}
输出结果为:0 1 2 3 4 6 7 8 9
此时从continue再次进入while循环时,$i == 6;
例子二:
for($j=0;$j<5;$j++){ for($k=0;$k<4;$k++){ if($k==2){continue 2;} echo $k."**";
}
echo "222不会输出";
}
输出结果为:0** 1** 0** 1** 0** 1** 0** 1** 0** 1**
执行流程:1>$j=0,$k=0,输出 0**,$k++
2>$j=0,$k=1,输出 1**,$k++
3>$j=0,$k=2,执行 continue 2;紧接着就是 $j++ (跳出2重循环)
4>$j=1,....(接下来就相似了)
而break:
for($j=0;$j<5;$j++){
for($k=0;$k<4;$k++){
if($k==2){
break 2;
}
echo $k;
echo "** ";
}
echo "222不会输出";
}
输出结果为:0** 1**
直接跳出两个for循环

浙公网安备 33010602011771号