是休息; die() php 之后需要
Posted
技术标签:
【中文标题】是休息; die() php 之后需要【英文标题】:Is break; required after die() php 【发布时间】:2013-08-11 19:21:20 【问题描述】:我想了很多...
在switch case区域中break;
在die()
之后需要
例子:
switch($i)
case 0:
die('Case without break;');
case 1:
die('Case with break;');
break;
【问题讨论】:
没有必要,因为脚本永远不会真正到达中断线,因为您刚刚使用die()
调用终止了脚本。这有点像为死人点餐。也许它对你有一些意义,但那个人不会在附近吃它。
谢谢!我就是这么想的。我只是想我会四处打听,看看其他人对此有何看法。顺便说一句,这个比喻很好。
【参考方案1】:
die()
只是exit()
的别名,其中exit() 将立即终止程序流。 (关闭函数和对象析构函数在exit()
之后仍然会被执行)
不,省略break
不是语法错误,相反,省略break
有很多有用的情况。有关示例,请查看 switch
语句的手册页。
【讨论】:
感谢您提供的额外信息!我不知道这种关系。 是的,曾经也发现这很有趣。 :) 我不知道为什么他们在 php 中有这么多别名。您还应该知道,如果您将字符串传递给die()
(在大多数应用场景中都可以看到),它会直接影响返回值。如果你制作一个框架,我会使用像panic($string)
这样的函数,它将使用echo
打印消息,然后调用exit(1);
也不知道。
检查这个很有趣(如果你不需要调试的话):die('001 Script Error');
将有一个返回值0 - Success
,因为字符串将被转换为一个数字:0
。有过这个,调试这让我快疯了!!! %)【参考方案2】:
这不是必需的。即使对于开关break
也不是强制性的。如果在一种情况下没有中断,它只会继续执行下一种情况。
但在die
之后,没有区别,因为 die 会终止程序执行。只是希望你不打算在某些情况下使用die
。
【讨论】:
这是有道理的。谢谢你:)【参考方案3】:从语法上讲,它不是必需的,但它不会被执行,因为die()
会导致执行停止。
【讨论】:
我就是这么想的。感谢您的直接回答! 我不认为这在语法上是必需的。 在 PHP 中case
之后不需要语法上的 break
。
@ಠ_ಠ 谢谢你不赞成的样子:)以上是关于是休息; die() php 之后需要的主要内容,如果未能解决你的问题,请参考以下文章