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 相关文章推荐
ajax实现无刷新分页(php)
Jul 18 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 PHP
浅析PHP文件下载原理
Dec 25 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 PHP
基于PHPexecl类生成复杂的报表表头示例
Oct 14 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 PHP
详解thinkphp中的volist标签
Jan 15 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出错界面
2006/10/09 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
Python下载指定页面上图片的方法
2016/05/12 Python
python实现简易云音乐播放器
2018/01/04 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
小学教师师德演讲稿
2014/05/06 职场文书
文明社区申报材料
2014/08/21 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers