php5.3 goto函数介绍和示例


Posted in PHP onMarch 21, 2014

goto操作符是PHP5.3+后新增功能,用来跳转到程序的另一位置;用法很简单:goto后面带上目标位置的标志,在目标位置上用目标名加冒号标记,如下:

goto a;
echo '三水点靠木';
a:
    echo 'https://3water.com';

但是goto的目标位置只能同一文件和作用域【既不能跳转到一个函数和类方法中】,当然它可以跳出循环,但是不能跳入循环:

<?php
for($i = 0; $i < 3; $i++)
{
    echo $i . '<br>';
    if($i == 1) goto end;
}
end : 
    echo '直接end结束了';

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

<?php
goto a;
echo 'Foo';a:
echo 'Bar';
?>

以上例程会输出: Bar

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

以下写法无效

<?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

PHP 相关文章推荐
PHP面向对象编程快速入门
Oct 09 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
php ctype函数中文翻译和示例
Mar 21 #PHP
php的declare控制符和ticks教程(附示例)
Mar 21 #PHP
php像数组一样存取和修改字符串字符
Mar 21 #PHP
easyui的tabs update正确用法分享
Mar 21 #PHP
php设置session值和cookies的学习示例
Mar 21 #PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 #PHP
一漂亮的PHP图片验证码实例
Mar 21 #PHP
You might like
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
vue小白入门教程
2018/04/02 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python3 处理JSON的实例详解
2017/10/29 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
python批量处理txt文件的实例代码
2020/01/13 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
会议接待欢迎词
2014/01/12 职场文书
学校四群教育实施方案
2014/06/12 职场文书
模具专业求职信
2014/06/26 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
国家助学金受助感言
2015/08/01 职场文书
教师研修随笔感言
2015/11/18 职场文书
导游词之日月潭
2019/11/05 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python