PHP入门读书笔记:break和continue语句
程序需要跳出循环,就需要使用break/continue语句
一、break
break 可以终止当前的循环,包括while,do..while,for,foreach,switch在内的所有控制语句。
break 不仅可以跳出当前的循环,还可以跳出几层的循环。格式为:break $num; 参数$num为要跳出的几层循环。
二、continue
continue 只能终止本次循环而进入下一次的循环中。continue 也可以指定跳出几重循环,语法规则和break 类似。
三、几个例子
1、break的使用,遇到5 跳出循环。
<?php
$val = 0;
while ($val<10){
if ($val==5){
echo "遇到5跳出循环 <br/>";
break;
}
echo $val." ";
$val+=1;
}
?>
输出结果:
0 1 2 3 4 遇到5跳出循环
2、多个循环嵌套,break 跳出循环体。
<?php
while (true){
for(;;){
for ($i=0;$i<=10;$i++){
echo $i." ";
if ($i==5){
echo "遇到5跳出循环。跳出一重循环<br/>";
break 1;
}
}
for ($j=0;$j<=20;$j++){
echo $j." ";
if ($j==15){
echo "遇到15跳出循环。跳出最外重的循环<br/>";
break 3;
}
}
}
echo "你看不到我的 <br/>";
}
echo "执行完毕<br/>";
?>
输出结果:
0 1 2 3 4 5 遇到5跳出循环。现在在一重循环里的第一个循环。跳出一重循环
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 遇到15跳出循环、现在在一重循环里的第二个循环。跳出最外重的循环
执行完毕
说明:While 里面的表达式就一个true,表示会一直执行。For 没有写任何表达式,也是会一直执行。这样的写法是不建议的,但这里是使用break 跳出循环了,就不会无休止地运行下去了。这个例子最里面的两个一重循环都有跳出,第一个是break 1,也就是当前的循环,第二个是break 3,就是跳出最外面的while。如果写个 break 2 也就知道是跳出while后面的for这个循环了。

3、continue的使用,遇到偶数继续执行
<?php
for ($i=0;$i<=10;$i++){
if($i % 2==0){
continue;
}
else{
echo $i." ";
}
}
?>
输出结果:
1 3 5 7 9
4、continue跳出的使用
<?php
for($ii=0;$ii<2;$ii++){
for ($i=0;$i<=5;$i++){
for ($j=0;$j<=5;$j++){
if($j==$i){
echo "<br/>";
continue 2;
}
else{
echo $j." ";
}
}
echo "这句话你看不到";
}
}
echo "执行完毕";
?>
输出结果:
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
执行完毕
5、杨辉三角
杨辉三角是每一行除第一个数和最后一个数为1,其他数为上一行同位置的数+上一行同位置的前一个数之和。那么可以理解为此为一个二维数组,通过两次循环输出。
<?php
$arr=array();
for($i=1;$i<=10;$i++){
for($j=1;$j<=$i;$j++){
if($j==1||$j==$i){
echo $arr[$i][$j]=1;
}
else{
echo $arr[$i][$j]=$arr[$i-1][$j-1]+$arr[$i-1][$j];
}
echo " ";
}
echo "<br/>";
}
?>
输出结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
明天我们来看看字符串的一些操作。