是休息; 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 之后需要的主要内容,如果未能解决你的问题,请参考以下文章

PHP中exit()与die()的区别

整理分享1PHP中exit()与die()的区别

PHP中exit()与die()的区别

Linux休息提醒

说一下PHP中die()和exit()区别

PHP die() 函数