php goto的用法

(PHP 5 >= 5.3.0, PHP 7)

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

 

Example:跳出去,再继续执行startTemplate:

        $where = ['merchant_id' => self::$merchant_id, 'store_id' => $store_id];
        startTemplate:
        $default = Template::find()->where($where)->asArray()->limit(1)->one();
        if (empty($default)) {
            if ($where['store_id'] > 0) {
                $where['store_id'] = 0;
                goto startTemplate;
            } else {
                return false;
            }
        }

Example:调到指定的位置:执行 echo 'a';

<?php
goto a;
echo 'b';
 
a:
echo 'a';
?>

 

posted @ 2017-03-25 11:08  sigarly  阅读(310)  评论(0编辑  收藏  举报