php中goto语法怎么使用?哪些问题需要注意?
Admin 2021-04-27 群英技术资讯 1042 次浏览
我们知道PHP是一门弱类型语言,而C++、Java是强类型语言,但是它们中都有goto语法,那么究竟在PHP中goto语法要怎么使用呢?有哪些问题是需要注意的?
在C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义,它的使用是直接去到某个地方。从代码的角度来说,也就是直接跳转到指定的地方。PHP中也有这个功能,我们先来看看它是如何使用的:
代码运行到 goto 位置时,就跳转到了 a: 所在的代码行并继续执行下去。这个功能对于复杂的嵌套 if 或者在一些循环中进行跳出很有用,特别是针对某些异常或者错误情况的处理,比如:
for ($i = 0, $j = 50; $i < 100; $i++) {
while ($j--) {
if ($j == 17) { // 假设$j==17是一种异常情况
goto end; // 直接跳走了,循环结束的结果也不输出了
}
}
}
echo "i = $i";
end:
echo 'j hit 17'; // 直接到这里输出或者处理异常情况了
不过 goto 语法也有一些限制情况:
比如以下的代码都是无效的:
$a = 1;
goto switchgo;
switch ($a){
case 1:
echo 'bb';
break;
case 2:
echo 'cc';
switchgo:
echo "bb";
break;
}
goto whilego;
while($a < 10){
$a++;
whilego:
echo $a;
}
它们都会报同样的错误,因为作用域的关系无法找到定义的 goto 标签。另外还需要注意的,使用goto可能什么引起死循环,如下所示:
b: echo 'b'; goto b;
代码执行到 goto 时,跳回了之前的b标签行,然后继续向下执行,又到 goto 了,成为了一个死循环。有点像 while(true) 的感觉了。但是,在这个 goto 循环里是没有 break 的,只能在 goto 出去到别的地方。
注意:goto 操作符仅在 PHP 5.3及以上版本有效。
总结
以上就是关于在PHP中goto语法的使用,大家在使用时,上述问题是需要注意的,希望文本对大家学习有帮助,更多goto语法的介绍大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
workerman可以多进程执行。为了充分发挥服务器多CPU的性能,WorkerMan默认支持多进程多任务。WorkerMan开启一个主进程和多个子进程对外提供服务, 主进程负责监控子进程,子进程独自监听网络连接并接收发送及处理数据。
如何在 Laravel 中使用 PHP 的装饰器模式?下面本篇文章就来给大家介绍一下Laravel中使用PHP装饰器模式的方法,希望对大家有所帮助!
Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。
//$startdate是开始时间,$enddate是结束时间<?php$startdate="2011-3-1511:50:00";$enddate="2012-12-1212:12:12";$date=floor((strtotime($enddate)-strtotime($startdate))/86400);echo"相差天数:".$date."天<b
php json_encode有中文乱码怎么解决?很多朋友在使用json_encode处理中文的时候,会出现不可读,乱码的情况,这是因为中文会被编码导致的,不要想中文被转码,有以下解决方法:
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008