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

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


当前回答

没有区别,它们是一样的。

PHP退出手册:

注意:这个语言结构相当于die()。

PHP模具手册:

这个语言结构相当于exit()。

其他回答

它们听起来差不多,但是exit()还允许您设置PHP脚本的退出码。

通常您并不真的需要这样做,但是在编写控制台PHP脚本时,您可能需要检查脚本是否以正确的方式完成了所有内容,例如Bash。

然后您可以使用exit()并在以后捕获它。 但是Die()不支持。

Die()在代码为0时始终存在。 因此,从本质上讲,die()命令执行以下操作:

<?php
echo "I am going to die";
exit(0);
?>

也就是:

<?php
die("I am going to die");
?>

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

BUT

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

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

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

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

Die()比exit()输入更快;

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