PHP中的die()函数和exit()函数有什么区别?
我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?
PHP中的die()函数和exit()函数有什么区别?
我认为两者具有相同的功能,但我怀疑两者之间有什么不同……是什么?
当前回答
https://3v4l.org的输出说明die和exit在功能上是相同的。
其他回答
它们在本质上是相同的,尽管本文给出了不同的建议。
这里有一些非常有趣的东西。虽然exit()和die()是等价的,但die()关闭了连接。Exit()不会关闭连接。
die ():
<?php
header('HTTP/1.1 304 Not Modified');
die();
?>
退出():
<?php
header('HTTP/1.1 304 Not Modified');
exit();
?>
结果:
die ():
HTTP/1.1 304 Not Modified
Connection: close
退出():
HTTP/1.1 304 Not Modified
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
只是以防万一,需要把这考虑到你的项目。
学分:https://stackoverflow.com/a/20932511/4357238
它们听起来差不多,但是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");
?>
在功能方面,它们是相同的,但我在以下场景中使用它们以使代码可读:
当出现错误并必须停止执行时使用die()。
如。 死亡(“哦!出问题了’);
当没有错误并且必须停止执行时,使用exit()。
如。 exit('请求已成功处理!”);
https://3v4l.org的输出说明die和exit在功能上是相同的。