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 相关文章推荐
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
php str_pad 函数使用详解
Jan 13 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
php 文本文件的读取效率
Feb 10 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
PHP之uniqid()函数用法
Nov 03 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
CI框架简单邮件发送类实例
May 18 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
php实现微信小程序授权登录功能(实现流程)
Nov 13 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
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
Django中的session用法详解
2020/03/09 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
大学生个人实习的自我评价
2014/02/15 职场文书
主管竞聘书范文
2014/03/31 职场文书
班级课外活动总结
2014/07/09 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
golang 实现并发求和
2021/05/08 Golang
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python