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

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


当前回答

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

其他回答

在功能方面,它们是相同的,但我在以下场景中使用它们以使代码可读:

当出现错误并必须停止执行时使用die()。

如。 死亡(“哦!出问题了’);

当没有错误并且必须停止执行时,使用exit()。

如。 exit('请求已成功处理!”);

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

PHP退出手册:

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

PHP模具手册:

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

正如所有其他正确答案所说,die和exit是相同的/别名。

尽管我有一个个人约定,当我想在预期和期望的时候结束脚本的执行时,我使用exit;。当我需要结束执行由于一些问题(无法连接到db,不能写入文件等),我使用die(“Something went wrong.”);“杀死”剧本。

当我使用exit时:

header( "Location: http://www.example.com/" ); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit; // I would like to end now.

当我使用die时:

$data = file_get_contents( "file.txt" );
if( $data === false ) {
    die( "Failure." ); // I don't want to end, but I can't continue. Die, script! Die!
}
do_something_important( $data );

这样,当我在代码中的某个点看到exit时,我知道在这一点上我想退出,因为逻辑在这里结束。 当我看到die时,我知道我想继续执行,但我不能或不应该由于之前执行的错误。

当然,这只适用于独自从事一个项目。当有更多的人,没有人会阻止他们使用die或exit,这不符合我的惯例…

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

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