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

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

【问题讨论】:

  • 它什么也不返回。但是即使它返回了一些东西,那个东西仍然不能无用,因为脚本正在退出。

标签: 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】:

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

【讨论】:

【解决方案4】:

【讨论】:

    【解决方案5】:

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

    【讨论】:

    【解决方案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,然后返回0exit status code,向调用者发出进程正常终止的信号。

    另一个例子:

    die(1);
    

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 1970-01-01
      • 2013-07-10
      • 2014-10-18
      • 2015-12-08
      • 2018-10-16
      • 2013-06-09
      • 2011-09-13
      相关资源
      最近更新 更多