PHP中的die()函数和exit()函数有什么区别?

我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?


当前回答

exit()函数和die()函数的结果总是相同的。但正如别名手册页(http://php.net/manual/en/aliases.php)所解释的那样,它说die()函数调用exit函数。我认为它是硬编码如下:

function die($msg){
  exit($msg);
}

这不是小型、中型和大型项目的性能问题,但如果项目有几十亿几十亿的过程,这是非常重要的性能优化状态。

但大多数人不认为这是一个问题,因为如果你有那么多进程,你肯定比一个函数是master或alias考虑更多的问题。

确切的答案是;总是主函数比别名更快。

最后;别名手册页上说,你可能不再使用死亡。它只是一个别名,不推荐使用。

使用这类别名通常是一个坏主意,因为它们可能是 注定要过时或重命名,这将导致不可移植 脚本。此列表是为了帮助那些想要升级他们的 旧脚本到新语法。

其他回答

PHP模具手册:

die -相当于退出

你甚至可以死去;与退出的方式相同;-有或没有paren。

选择die()而不是exit()的唯一好处可能是你可以节省输入一个额外的字母的时间;-)

如前所述,这两个命令产生相同的解析器令牌。

BUT

有一个很小的区别,那就是解析器返回令牌所需的时间。

我还没有研究过PHP解析器,但是如果它是一个以“d”开头的长列表,以及一个以“e”开头的短列表,那么查找以“e”开头的函数名必须花费一定的时间。由于整个函数名的检查方式不同,可能会有其他差异。

除非您有一个专门用于解析PHP的“完美”环境,以及大量具有不同参数的请求,否则我怀疑它是无法测量的。 但肯定有区别,毕竟PHP是一种解释性语言。

它们在本质上是相同的,尽管本文给出了不同的建议。

在功能上,它们是相同的。所以选择使用哪一种完全是个人喜好。在英语的语义上,它们是不同的。死亡听起来很消极。当我有一个函数返回JSON数据到客户端并终止程序时,如果我调用这个函数jsonDie()可能会很糟糕,而调用它jsonExit()更合适。因此,我总是使用exit而不是die。

https://3v4l.org的输出说明die和exit在功能上是相同的。