PHP goto 语句可以用来跳转到程序中的另一个位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。
PHP 中对 goto 语句有一定限制,即目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入另一个函数、其他循环或者 switch 结构中。
goto 也可以跳出循环或者 switch,所以可以用来代替多层的 break 语句。
<?php
goto a;
echo 'Foo';
a:
echo 'Bar';
?>
以上示例程序的输出结果为:
<?php
for ($i=0; $i < 10; $i++) {
if($i == 3) {
goto a;
}
echo $i;
}
a:
echo "跳出循环";
?>
本例中,当 for 循环执行到 $i 的值为 3 时,因为 goto 语句,程序将会跳出循环,转到 a 所定义的部分程序中执行,执行结果如下: