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?