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 相关文章推荐
php5数字型字符串加解密代码
Apr 24 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
浅析is_writable的php实现
Jun 18 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
PHP实现文件上传与下载实例与总结
Mar 13 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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常用表单验证类用法实例
2015/06/18 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Django实现图片文字同时提交的方法
2015/05/26 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
医学生自我鉴定范文
2013/11/08 职场文书