goto

goto
wanghao
wanghao
178
阅读
0
评论
2021年11月16日22:05:43 0 178

goto

(PHP 5 >= 5.3.0)

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

Example #1 goto 示例

<?php

goto a;

echo 'Foo';

a:

echo 'Bar';

?>  

以上例程会输出:

Bar

Example #2 goto 跳出循环示例

<?php

for($i=0,$j=50; $i<100; $i++) {

  while($j--) {

    if($j==17) goto end; 

  }  

}

echo "i = $i";

end:

echo 'j hit 17';

?>  

以上例程会输出:

j hit 17

Example #3 以下写法无效

<?php

goto loop;

for($i=0,$j=50; $i<100; $i++) {

  while($j--) {

    loop:

  }

}

echo "$i = $i";

?>  

以上例程会输出:

Fatal error: 'goto' into loop or switch statement is disallowed in

script on line 2

Note: 

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

xkcd-goto.png 

此漫画鸣谢 » xkcd 


打赏 点赞(0)
weinxin
投诉建议
文章名+链接地址,发送到此微信:tourism52
猜您今天喜欢
猜您
喜欢
历史上的今天
07月
05
XLink,和,XPointer,语法,XLink,和,XPointer,语法,在, 菜鸟教程

XLink 和 XPointer 语法

XLink 和 XPointer 语法 XLink 语法 在 HTML 中,我们知道 a 元素可定义超级链接。不过 XML 不是这样工作的。在 XML 文档中,您可以使用任何你需要...
sqlite,终端,命令,sqlite,终端,命令,原创,linux, 菜鸟教程

sqlite - 终端命令

sqlite - 终端命令 原创linux运维菜2019-06-10 23:36:14 sqlite命令 sqlite提供一个终端操作,支持很多命令,可以通过这些命令对sqlite...
java,万字,长文,基础知识,总结 菜鸟教程

Java万字长文基础知识总结

面向对象概念面向对象和面向过程的区别?面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开...
使用,命名,空间,后备,全局,函数,常量 菜鸟教程

使用命名空间:后备全局函数/常量

使用命名空间:后备全局函数/常量在一个命名空间中,当 PHP 遇到一个非限定的类、函数或常量名称时,它使用不同的优先策略来解析该名称。类名称总是解析到当前命名空间中的名称。因此在访...

评论列表 共有 0 条评论

暂无评论