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 相关文章推荐
Look And Say 序列php实现代码
May 22 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
基于php权限分配的实现代码
Apr 28 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
Sep 02 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
php封装单文件上传到数据库(路径)
Oct 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解析base64数据生成图片的方法
2016/12/06 PHP
JS Timing
2007/04/21 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
vue v-model的用法解析
2020/10/19 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
pandas数值计算与排序方法
2018/04/12 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
Servlet方面面试题
2016/09/28 面试题
医学检验专业个人求职信范文
2013/12/04 职场文书
岗位聘任书范文
2014/03/29 职场文书
培训计划通知
2015/07/15 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
HAM-2000摩机图
2021/04/22 无线电
浅析Python中的随机采样和概率分布
2021/12/06 Python
bat批处理之字符串操作的实现
2022/03/16 Python
Python中的嵌套循环详情
2022/03/23 Python