跳转语句包含break语句、continue语句和goto语句。其中,break和continue语句在循环语句环境中使用。
break语句用于终止本次循环,使用示例如下:
<?php for ($i=0; $i < 10; $i++) { if($i == 3) { break; } echo $i; } ?>
在for循环中,判断当前$i的值为3时便终止循环。代码的执行结果为:012。在while、do while和foreach循环语句中效果一样,break语句的作用都是终止循环。
continue语句的作用是跳出本次循环,接着执行下一次循环,使用示例如下:
<?php for ($i=0; $i < 10; $i++) { if($i == 3) { continue; } echo $i; } ?>
在for循环中,判断当前$i的值为3时跳出本次循环,继续执行剩下的循环。此处的代码执行结果为:012456789。在while、do while和foreach循环语句中效果一样,break语句的作用都是跳出本次循环,继续剩下的循环。
goto语句可以用来跳转到程序中的另一个位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是goto之后接上目标位置的标记。PHP中对goto语句有一定限制,即目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入另一个函数、其他循环或者switch结构中。可以跳出循环或者switch,goto语句常用来代替多层的break语句。
示例1:
<?php gotoa; echo?'Foo'; a: echo'Bar'; ?>
以上示例程序的输出结果为:
Bar
示例2:
<?php for ($i=0; $i < 10; $i++) { if($i == 3) { goto a; } echo $i; } a: echo "跳出循环"; ?>
本例中,当for循环执行到$i的值为3时,因为goto语句,程序将会跳出循环,转到a所定义的部分程序中执行,执行结果如下:
012 跳出循环