PHP中die()和exit()有什么区别?
PHP
die()
和exit()
函数有什么区别?
我认为两者都具有相同的功能,但我怀疑两者有什么不同......它是什么?
没有区别 - 它们是一样的。
PHP手册exit
:
注意:这种语言结构等同于die()
。
die
PHP手册:
这个语言结构等同于exit()
。
原产地的差异
die()
和exit()
在PHP中的区别在于它们的起源 。
exit()
来自C中的 exit()
。 die()
来自Perl中的 die
。 功能等同
die()
和exit()
是等价的函数。
PHP手册
die
PHP手册:
这个语言结构等同于exit()
。
PHP手册exit
:
注意:这种语言结构等同于die()
。
函数别名列表的PHP手册:
die
是主函数的别名exit()
不同于其他语言
die()
和exit()
在其他语言中是不同的,但在PHP中它们是相同的。
从另一个PHP咆哮:
...作为C和Perl编码器,我准备回答:“为什么,exit()只是用程序退出状态退出程序,而die()则将错误信息打印到stderr并以EXIT_FAILURE状态退出。 “ 但后来我记得我们在PHP的混乱语法领域。
在PHP中,exit()和die()是相同的。
设计者显然认为:“嗯,让我们从C中借用exit()吧。如果我们从Perl中取出die(),Perl人可能会喜欢它。糟糕!现在我们有两个退出函数!可以采用一个字符串或整数作为参数,并使它们相同!“
最终的结果是,这并没有让事情变得更容易,只是更加混乱。 C和Perl编码器将继续使用exit()仅抛出整数出口值,而die()抛出错误消息并退出并出现故障。 新手和PHP作为第一语言的人可能会想知道“恩,两个退出函数,我应该使用哪一个函数?” 手册没有解释为什么有exit()和die()。
一般来说,PHP有这么多奇怪的冗余 - 它试图对来自不同语言背景的人友好,但这样做会造成冗余。
如前所述,这两个命令产生相同的解析器令牌。
但
有一个小小的差异,那就是解析器返回令牌需要多长时间。
我没有研究过PHP解析器,但是如果它是一个以“d”开头的函数的长列表,并且列表以“e”开头的较短列表,那么在函数名称中查找以“ E”。 由于如何检查整个函数名称,可能会有其他差异。
我怀疑它是否会被测量,除非你有一个专门用于解析php的“完美”环境,以及许多具有不同参数的请求。 但是,毕竟,PHP是一种解释型语言。
链接地址: http://www.djcxy.com/p/9839.html上一篇: What are the differences in die() and exit() in PHP?
下一篇: How to calculate the difference between two dates using PHP?