首页 > PHP > PHP流程控制 阅读:643

PHP goto:跳转到程序的指定位置

goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记(例如 name: ),而跳转指令是 goto 之后接上目标位置的标记。

PHP 中 goto 操作符的使用有一定限制:
  • goto 跳转的目标位置只能位于同一个文件和作用域内;
  • goto 无法跳出一个函数或类方法,也无法跳入到另一个函数;
  • goto 无法跳入到任何循环或者 switch 结构中;
  • goto 可以跳出循环或者 switch。

我们通常是使用 goto 代替 break 来跳出嵌套的多层循环,goto 本身并没有跳出循环的作用,但其跳转到指定位置的作用使得其可以代替 break 来跳出循环。

和其他语言一样,PHP 中并不鼓励滥用 goto,滥用 goto 会导致程序的可读性严重下降。

提示:goto 操作符仅在 PHP5.3 及以上版本有效。

goto 操作符的语法格式如下:

goto 标志;
    //代码块;
标志:
     //代码块;

其中,goto 操作符后面的“标志”为需要程序跳转到的目标位置,而定义目标位置时需要在目标位置名称的后面加上一个:

【示例】下面通过一个简单的示例演示一下 goto 操作符的使用:
<?php
    echo 'PHP goto操作符<br>';
    goto a;
    echo 'C语言中文网<br>';

    a:
    echo 'http://c.biancheng.net/php/<br>';
?>
运行结果如下:

PHP goto操作符
http://c.biancheng.net/php/

【示例】使用 goto 操作符代替 break 跳出循环:
<?php
    for($i=0; $i<100; $i++) {
        echo '$i = '.$i.'<br>';
        if($i == 3){
            goto end;
        }
    }

    end:
    echo '跳出到 end 目标位置!';
?>
运行结果如下:

$i = 0
$i = 1
$i = 2
$i = 3
跳出到 end 目标位置!

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注