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&amp;mysql(四)
Oct 09 PHP
main.php
Dec 09 PHP
PHP用mysql数据库存储session的代码
Mar 05 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php创建session的方法实例详解
Jan 27 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
php如何实现只替换一次或N次
Oct 29 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
php自定义函数转换html标签示例
Sep 29 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
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
关于TypeScript模块导入的那些事
2018/06/12 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
win7安装python生成随机数代码分享
2013/12/27 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
python实现xlsx文件分析详解
2018/01/02 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
网络工程专业毕业生推荐信
2013/10/28 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
大学生赌博检讨书
2014/09/22 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书