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 相关文章推荐
基于mysql的论坛(4)
Oct 09 PHP
PHP动态变静态原理
Nov 25 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
php修改NetBeans默认字体的大小
Jul 02 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
python利用hook技术破解https的实例代码
2013/03/25 Python
python实现ip查询示例
2014/03/26 Python
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
Nike香港官网:Nike HK
2019/03/23 全球购物
费用会计岗位职责
2014/01/01 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
社区中秋节活动方案
2014/01/29 职场文书
植树节活动总结
2014/04/30 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
卖房协议书样本
2014/10/30 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
MySQL快速插入一亿测试数据
2021/06/23 MySQL
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js