echo "start\r\n";
goto codeMark;
echo 'E1';
codeMark:
echo 'F1';
结果:
跳过了“echo “E1””,也就是说goto是与程序执行跳转有关,比较类似于 break,但又完全不同。
goto操作符可以用来跳转到程序中的另一个位置,该目标位置可以用目标名称加上冒号来标记,而跳转指令是goto之后接上目标位置的标记。
PHP中对goto有一定的限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数,也无法跳入到任何循环或者switch结构中。可以跳出循环或者switch,通常的用法是用goto代替多层的break。
for($i = 0, $j = 50; $i < 100; $i ++){
while($j --){
if($j == 39)
goto end;
}
}
echo "i=$i";
end:
echo "j is $j";
结果:
结果里显示j的结果是39,当j=39时跳出for与while循环,使用的不是break,而是goto,直接跳出循环,到达标记位置并开始执行。