zoukankan      html  css  js  c++  java
  • 【转】pphp中goto的用法

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

    ————————————————————————————

    我们先举个简单示例:

    <?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
    ";
    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-src]一个Php扩展的结构
    告别2015,迎来2016
    [JS]应用splice删除多元素时出现的坑
    [Ng]Angular应用点概览
    [MongoDB]Mongodb攻略
    GNU M4
    [Linux]服务管理:RPM包, 源码包
    [Shell]条件判断与流程控制:if, case, for, while, until
    [Shell]字符截取命令:cut, printf, awk, sed
    [Shell]正则表达式与通配符
  • 原文地址:https://www.cnblogs.com/oxspirt/p/13993008.html
Copyright © 2011-2022 走看看