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

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


当前回答

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

其他回答

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

我至少在脚本中注意到,exit()将停止当前执行的脚本,并将控制传递回任何调用脚本,而die将停止php的运行。我想说这是一个很大的不同?

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

这个页面说die是一个退出,所以它们是相同的。但也解释了:

有些函数因为API清理或其他原因更改了名称,旧的名称仅作为向后兼容的别名保留。使用这类别名通常不是一个好主意,因为它们可能会过时或重命名,这将导致不可移植的脚本。

所以,你可以说我是偏执狂,但未来可能不会有死亡。

它们听起来差不多,但是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");
?>