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 相关文章推荐
escape unescape的php下的实现方法
Apr 27 PHP
PHP 翻页 实例代码
Aug 07 PHP
paypal即时到账php实现代码
Nov 28 PHP
php中的一些数组排序方法分享
Jul 20 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
ThinkPHP调试模式与日志记录概述
Aug 22 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
php中的异常和错误浅析
May 03 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
PHP的mysqli_stat()函数讲解
Jan 23 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 rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
HTML5实现留言和回复页面样式
2015/07/22 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
python使用chardet判断字符串编码的方法
2015/03/13 Python
python实现查询苹果手机维修进度
2015/03/16 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
Python全栈之列表数据类型详解
2019/10/01 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
基于opencv实现简单画板功能
2020/08/02 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
创立科技Java面试题
2015/11/29 面试题
汽修专业学生自我鉴定
2013/11/16 职场文书
小学教师事迹材料
2014/01/13 职场文书
会计毕业生自荐书
2014/06/12 职场文书
大学专科自荐信
2014/06/17 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
理解python中装饰器的作用
2021/07/21 Python