PHP7实践指南:O2O网站与App后台开发
上QQ阅读APP看书,第一时间看更新

3.3 跳转语句

跳转语句包含break语句、continue语句和goto语句。其中,break语句和continue语句在循环语句环境中使用。

3.3.1 break语句

break语句用于终止本次循环,使用示例如下:

        <? php
        for ($i=0;$i<10;$i++){
            if($i==3){
                break;
            }
            echo$i;
        }
        ?>

在for循环中判断当前$i的值为3时便终止循环,代码的执行结果为:012。在while、do while和foreach循环语句中效果一样,break语句的作用都是终止循环。

3.3.2 continue语句

continue语句的作用是跳出本次循环,接着执行下一次循环,使用示例如下:

        <? php
        for ($i=0;$i<10;$i++){
            if($i==3){
                continue;
            }
            echo$i;
        }
        ?>

在for循环中判断当前$i的值为3时跳出本次循环,继续执行剩下的循环。此处的代码执行结果为:012456789。在while、do while和foreach循环语句中效果一样,break语句的作用都是跳出本次循环,继续剩下的循环。

3.3.3 goto语句

goto语句可以用来跳转到程序中的另一个位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是goto之后接上目标位置的标记。PHP中对goto语句有一定的限制,即目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,无法跳入另一个函数,也无法跳入其他循环或switch结构中。goto语句可以跳出循环或switch,常用来代替多层break语句。

示例1:

        <? php
        goto a;
        echo 'Foo';
        a:
        echo 'Bar';
        ?>

以上示例程序的输出结果为:

          Bar

示例2:

        <? php
        for ($i=0;$i<10;$i++){
            if($i==3){
                goto a;
            }
            echo$i;
        }

        a:
        echo "跳出循环";
        ?>

本例中,当for循环执行到$i的值为3时,因为goto语句,程序将会跳出循环,转到a所定义的部分程序中执行,执行结果如下:

          012跳出循环