我们先举个简单示例:

<?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平时用的不多。但有时候在特定场景下效率还是很高的。

无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。不忘初心 方得始终!