请选择 进入手机版 | 继续访问电脑版
绿茶科技社区

PHP语法:goto 语句

2019-11-22 01:38
1883
问题
当 PHP 在执行代码过程,在某一时刻我们希望它能跳转到某一特定位置继续执行代码,该怎么做呢?
回答
在 PHP 中,我们可以使用 goto 操作符来使 PHP 代码执行器跳转到程序中某一特定位置。goto 的使用有一定限制,如:无法跳出一个函数或类,无法从外部跳入到一个函数,无法跳入到任何循环或者 switch 结构中。但可以跳出循环或者 switch,通常的用法是用 goto 代替 switch 中嵌套多层的 break。
语法
goto 会使 PHP 直接跳转到指定标志位置。
  1. goto 标志;

  2. 代码块

  3. 标志:

  4. 代码块
复制代码
示例
例 1 —— 尝试跳入循环
  1. <?php

  2. goto loop;

  3. for($i=0; $i<3; $i++) {

  4.     while($i++) {

  5.         loop:

  6.     }

  7. }

  8. echo "End";
复制代码
运行结果:
  1. Fatal error: 'goto' into loop or switch statement is disallowed in F:\index.php on line 3
复制代码
从运行结果可以看出,goto 不能从外部直接跳入循环中。
例 2 —— 一个简单的跳转
  1. <?php

  2. goto loop;

  3. echo '这是第一个句子。';

  4. loop:

  5. echo '这是第二个句子。';
复制代码
运行结果:
  1. 这是第二个句子。
复制代码
例 3 —— 跳出循环
  1. <?php

  2. for($i=0; $i<10; $i++) {

  3.     while($i++) {

  4.         if($i==5) goto end;

  5.     }

  6. }

  7. echo '此时 $i=10';

  8. end:

  9. echo '此时 $i=' . $i;
复制代码
运行结果:
  1. 此时 $i=5
复制代码
从例 3 运行结果可以看出,在我们需要从循环中跳出的时候,使用 goto 非常方便。
提示
虽然 goto 使用起来非常方便,但是随意使用 goto 语句极易造成代码逻辑混乱,所以应当谨慎使用。


分享到 :
0 人收藏

3 个回复

倒序浏览
Teddys Knowledg  高级会员 | 2019-11-22 01:45:49
锄禾日当午,发帖真辛苦。谁知坛中餐,帖帖皆辛苦!
旁观者  高级会员 | 2019-12-8 11:58:37
介是神马?!!
一是二  高级会员 | 2019-12-15 09:50:42
鼎力支持!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

举报|Archiver|手机版|小黑屋|Lvchakeji Inc.  

Powered by Discuz! X3.3 © 2001-2016 Comsenz Inc.

返回顶部