优秀的编程知识分享平台

网站首页 > 技术文章 正文

PHP入门读书笔记(八):break和continue语句

nanyue 2024-11-19 07:57:33 技术文章 3 ℃

程序需要跳出循环,就需要使用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


明天我们来看看字符串的一些操作。

最近发表
标签列表