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删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php中stdClass的用法分析
Feb 27 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
使用php+swoole对client数据实时更新(一)
Jan 07 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
php微信开发之百度天气预报
Nov 18 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 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实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
JS前端笔试题分析
2016/12/19 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
python解析xml文件操作实例
2014/10/05 Python
python复制与引用用法分析
2015/04/08 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
python语言使用技巧分享
2016/05/31 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
Python如何读写二进制数组数据
2020/08/01 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
行政主管岗位职责
2013/11/18 职场文书
2014年库房工作总结
2014/11/26 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
公司年会开场白
2015/06/01 职场文书
2015年除四害工作总结
2015/07/23 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python