码迷,mamicode.com
首页 > Web开发 > 详细

Php中的goto用法

时间:2018-11-05 14:34:18      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:switch   就是   follow   lan   code   输出   blank   stop   for   

我们先举个简单示例:

<?php
goto LABEL; //这个标签自定义
echo ‘乔峰‘;

LABEL:
echo ‘鸠摩智‘;

以上例程会输出:鸠摩智

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

PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数。

也无法跳入到任何循环或者 switch 结构中。可以跳出循环或者 switch,通常的用法是用 goto 代替多层的 break。

我们再看一个示例:

<?php
for($i=0, $j=10; $i<20; $i++) {
    while($j--) {
        if($j==6)
            goto end;
    }
}
echo"这里不会被输出";
end:
echo "i = $i\n";
echo ‘stop here‘;

上面可以看到直接输出end后面的了,继续看:

$number = 1;
switch($number){
    case 1:
        goto one;                 //使用goto跳到one标记处
        echo "第一名";            //goto已经跳转,这条语句不执行
    case 2:
        goto two;
        echo "第二名";
    case 3:
        goto three;
        echo "第三名";
}

one:
echo " 武林第一!";
//exit;
two:
echo " 武林第二!";
//exit;
three:
echo " 武林第三!";
//exit;
/*
  最终结果是:武林第一! 武林第二! 武林第三!
  注意后面的exit 注释了,为何不是最终输出 武林第一,大家可以琢磨下。
*/

虽然goto平时用的不多。但有时候在特定场景下效率还是很高的。

Php中的goto用法

标签:switch   就是   follow   lan   code   输出   blank   stop   for   

原文地址:https://www.cnblogs.com/phpper/p/9908860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!