转载

PHP goto 跳转位置

(PHP 5 >= 5.3.0)

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

Example #1 goto 示例

  1. <?php 
  2. goto a ; 
  3. echo 'Foo' ; 
  4.  
  5. a : 
  6. echo 'Bar' ; 
  7. ?>  

以上例程会输出:

  1. Bar 

Example #2 goto 跳出循环示例

  1. <?php 
  2. for$i = 0 , $j = 50 ; $i < 100 ; $i ++) { 
  3. while$j --) { 
  4. if$j == 17 ) goto end ; 
  5. echo "i = $i " ; 
  6. end : 
  7. echo 'j hit 17' ; 
  8. ?> 

以上例程会输出:

  1. j hit 17 

Example #3 以下写法无效

  1. <?php 
  2. goto loop ; 
  3. for$i = 0 , $j = 50 ; $i < 100 ; $i ++) { 
  4. while$j --) { 
  5. loop : 
  6. echo " $i = $i " ; 
  7. ?>  

以上例程会输出:

  1. Fatal error: 'goto' into loop or switch statement is disallowed in 
  2. script on line 2 

Note:

goto 操作符仅在 PHP 5.3及以上版本有效。

PHP  goto 跳转位置

此漫画鸣谢 » xkcd

正文到此结束
Loading...