php跳出循环只有continue和break两个语句,continue语句只能终止本次循环,并进入下一次循环中。
<?php
$a = 1;
while (true) { // 这里看上去这个循环会一直执行
if ($a==2) {// 2跳过不显示
$a++;
continue; //跳出本次循环,本次循环体中的代码不在执行,故本次循环结尾的$a++不会在执行。即控制程序放弃本次循环continue
语句之后的代码并转而进行下一次循环。
} else if ($a==5) {// 但到这里$a=5就跳出循循环了
break; //break直接结束循环体,语法break N 可直接定义跳出几层循环
} else {
echo $a . '<br>';
}
$a++;
}
?><?php
$a = array("0"=>"arr","1"=>"brr","2"=>"crr","3"=>"drr");
foreach ($a as $key => $value) {
if ($key==1) {
//$key为数组的标记,如果没有设置第一个从0开始
continue;//到这里,就跳出brr那次循环
}else if ($key==3) {
break; //到这里,就是drr就直接结束循环体
} else {
echo $a[$key] . '<br>'; //输出第几个元素
}
}arr
crr
<?php
// $a=1;
// while($a<=10);
// {
// if ($a==5) {
// continue;//退出本次循环
// }
// echo $a;
// $a++;
// }
//注销部分是死循环
for($b=1;$b<=10;$b++){
if ($b==5) {
continue;//退出本次循环
}
echo $b;
}
?>1
2
3
4
6
7
8
9
10
![]() | while和do...while在执行continue的会陷入死循环 |
<?php
for($a=1;$a<=3;$a++){
for($b=1;$b<=3;$b++){
for($c=1;$c<=3;$c++){
if ($c==2) {
//在$c等于2的时退出$b那for
break 2; //break 后面跟数字代表退出层数循环2代表由内到外数
//continue 同理,数字代表忽略那层本次循环由,内到外数
}
echo "第".$a."号,第".$b."层,第".$c."次"."</br>";
}
}
}
?>第1号,第1层,第1次
第2号,第1层,第1次
第3号,第1层,第1次