PHP die() 返回啥
Posted
技术标签:
【中文标题】PHP die() 返回啥【英文标题】:what does PHP die() returnPHP die() 返回什么 【发布时间】:2010-10-27 21:25:40 【问题描述】:在 php 中die()
在我们使用它时会给予任何回报吗?
【问题讨论】:
它什么也不返回。但是即使它返回了一些东西,那个东西仍然不能无用,因为脚本正在退出。 【参考方案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() 返回啥的主要内容,如果未能解决你的问题,请参考以下文章