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

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


当前回答

起源差异

在PHP中die()和exit()的区别在于它们的起源。

exit()是来自C中的exit()。 die()来自Perl中的die。


的功能与

Die()和exit()是等价的函数。

PHP手册

PHP模具手册:

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

PHP退出手册:

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

PHP函数别名列表手册:

Die是主函数exit()的别名


不同于其他语言

die()和exit()在其他语言中是不同的,但在PHP中它们是相同的。

来自另一个PHP的咆哮:

...As a C and Perl coder, I was ready to answer, "Why, exit() just bails off the program with a numeric exit status, while die() prints out the error message to stderr and exits with EXIT_FAILURE status." But then I remembered we're in messy-syntax-land of PHP. In PHP, exit() and die() are identical. The designers obviously thought "Hmm, let's borrow exit() from C. And Perl folks probably will like it if we take die() as is from Perl too. Oops! We have two exit functions now! Let's make it so that they both can take a string or integer as an argument and make them identical!" The end result is that this didn't really make things any "easier", just more confusing. C and Perl coders will continue to use exit() to toss an integer exit value only, and die() to toss an error message and exit with a failure. Newbies and PHP-as-a-first-language people will probably wonder "umm, two exit functions, which one should I use?" The manual doesn't explain why there's exit() and die(). In general, PHP has a lot of weird redundancy like this - it tries to be friendly to people who come from different language backgrounds, but while doing so, it creates confusing redundancy.

其他回答

它们在本质上是相同的,尽管本文给出了不同的建议。

起源差异

在PHP中die()和exit()的区别在于它们的起源。

exit()是来自C中的exit()。 die()来自Perl中的die。


的功能与

Die()和exit()是等价的函数。

PHP手册

PHP模具手册:

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

PHP退出手册:

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

PHP函数别名列表手册:

Die是主函数exit()的别名


不同于其他语言

die()和exit()在其他语言中是不同的,但在PHP中它们是相同的。

来自另一个PHP的咆哮:

...As a C and Perl coder, I was ready to answer, "Why, exit() just bails off the program with a numeric exit status, while die() prints out the error message to stderr and exits with EXIT_FAILURE status." But then I remembered we're in messy-syntax-land of PHP. In PHP, exit() and die() are identical. The designers obviously thought "Hmm, let's borrow exit() from C. And Perl folks probably will like it if we take die() as is from Perl too. Oops! We have two exit functions now! Let's make it so that they both can take a string or integer as an argument and make them identical!" The end result is that this didn't really make things any "easier", just more confusing. C and Perl coders will continue to use exit() to toss an integer exit value only, and die() to toss an error message and exit with a failure. Newbies and PHP-as-a-first-language people will probably wonder "umm, two exit functions, which one should I use?" The manual doesn't explain why there's exit() and die(). In general, PHP has a lot of weird redundancy like this - it tries to be friendly to people who come from different language backgrounds, but while doing so, it creates confusing redundancy.

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

PHP退出手册:

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

PHP模具手册:

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

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

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