PHP die() 返回啥

Posted

技术标签:

【中文标题】PHP die() 返回啥【英文标题】:what does PHP die() returnPHP die() 返回什么 【发布时间】:2010-10-27 21:25:40 【问题描述】:

phpdie() 在我们使用它时会给予任何回报吗?

【问题讨论】:

它什么也不返回。但是即使它返回了一些东西,那个东西仍然不能无用,因为脚本正在退出。 【参考方案1】:

在 PHP 中,函数 die() 只是退出运行脚本并打印出参数(如果有的话)。

http://php.net/die

【讨论】:

这不太准确。如果使用整数参数调用 die(),它会返回该值。在网络环境中,这可能意义不大。在 CLI PHP 脚本中,该返回值是有意义的;它可以在 shell 中使用。【参考方案2】:

为什么不看看 PHP 的精彩文档呢?它甚至包含有关die()的信息

【讨论】:

可怜的家伙。他必须再次单击 才能查看 exit() 返回的内容。剧透:答案是无效的 php 文档是 查找此类内容的地方。没有什么比那里的信息更真实了,除了它是一个文档错误(但如果你想肯定最好检查 php 的错误跟踪系统和/或运行测试代码)。顺便说一句:由于 die() 完成了 PHP 的执行,所以返回值是什么已经完全无关紧要了(因为程序在该点停止)。 虽然你的回答并非不真实,但 IMO 有点粗鲁......(每个人都必须从某个地方开始 - 当我偶尔看到这样的答案时,我很震惊,有一堆赞成票。公平地说,早在 09 年,code of conduct 大修还没有发生...... 啊,过去的美好时光……您知道吗?在那个时候,提问和回答一样享有盛誉吗?很快,人们意识到这是获得大量声誉的好方法,并开始向平台发送垃圾邮件,提出完全琐碎和荒谬的问题。所以在元数据上就如何处理这个问题进行了多次讨论。比如这个:meta.stackexchange.com/q/1326/44562 最终,这导致每个投票只值 5 个代表的问题,而答案保持不变......【参考方案3】:

它不会返回。脚本被终止,不执行任何其他操作。

【讨论】:

它在终止之前打印给定的消息。 w3schools.com/PHP/func_misc_die.asp【参考方案4】:

It is the same as exit() 并根据文档returns nothing

【讨论】:

【参考方案5】:

没有理由在 die/exit 中返回一些东西。此函数终止内部的 php 解释器进程并将退出代码返回给 shell。因此,在调用 die() 之后,只要没有执行脚本的解释器进程,就没有脚本执行,这就是为什么无法处理函数返回的原因。

【讨论】:

它在终止进程之前打印 $message。 w3schools.com/PHP/func_misc_die.asp【参考方案6】:

显然,die() 或其等效的exit() 不会向脚本本身返回任何内容;准确地说,这段代码没有多大意义:

if (die())) 
    echo 'are we dead yet?';

但是,根据您作为die()exit() 的(可选)参数传递的内容,它确实会向调用者返回一些内容,即导致脚本运行的命令。但是,当您使用 php /path/to/script.php 从命令行调用脚本时,它的实际用途通常仅限于 cli SAPI。

观察:

die('goodbye cruel world');

此代码将打印goodbye cruel world,然后返回0 的exit status code,向调用者发出进程正常终止的信号。

另一个例子:

die(1);

当您传递整数值而不是字符串时,不会打印任何内容,退出状态代码将为 1,向调用者发出进程未正常终止的信号。

最后,不带任何参数的die()die(0) 相同。

可以更改进程的退出状态以指示可能发生的不同类型的错误,例如1 表示一般错误,2 表示用户名无效等

【讨论】:

以上是关于PHP die() 返回啥的主要内容,如果未能解决你的问题,请参考以下文章

PHP中exit()与die()的区别

说一下PHP中die()和exit()区别

PHP中的die()和exit()有啥区别?

PHP中 die() 和 exit() 的区别

php调试之路

php中die(),exit(),return的区别