PHP中的die()和exit()有什么区别?原产地差异功能等效在其他语言中有所不同

2022-08-30 05:48:21

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

我认为两者具有相同的功能,但我怀疑两者是否有不同之处......这是什么?


答案 1

没有区别 - 它们是相同的。

退出 PHP 手册:

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

模具 PHP 手册:

此语言构造等效于 exit()。


答案 2

原产地差异

PHP 中 die()exit() 之间的区别在于它们的起源


功能等效

die()exit()等效的函数。

PHP 手册

模具 PHP 手册:

此语言构造等效于 exit()。

退出 PHP 手册:

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

函数别名列表的 PHP 手册:

die 是 master 函数 exit() 的别名


在其他语言中有所不同

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

来自又一个PHP咆哮

...作为一名 C 和 Perl 程序员,我准备回答:“为什么 exit() 只是用数字退出状态来拯救程序,而 die() 将错误消息打印出来给 stderr,并以EXIT_FAILURE状态退出。但后来我想起了我们正处在PHP混乱的语法领域。

在 PHP 中,exit() 和 die() 是相同的。

设计师显然认为“嗯,让我们借用C的exit()。如果我们像Perl一样取de()来,Perl的人可能会喜欢它。哎呀!我们现在有两个退出功能!让我们这样做,这样他们都可以把一个字符串或整数作为参数,并使它们相同!

最终的结果是,这并没有真正使事情变得“更容易”,只是更加混乱。C 和 Perl 程序员将继续使用 exit() 仅抛出整数退出值,并使用 die() 抛出错误消息并失败退出。新手和PHP作为第一语言的人可能会想知道“嗯,两个退出函数,我应该使用哪一个?该手册没有解释为什么有 exit() 和 die()。

一般来说,PHP有很多像这样的奇怪的冗余 - 它试图对来自不同语言背景的人友好,但这样做,它会产生令人困惑的冗余。


推荐