PHP die()返回什么?

10

在PHP中,当我们使用die()时,它是否返回任何内容?


4
它什么也没有返回。但即使它返回了一些内容,由于脚本正在退出,那些内容仍然无法使用。 - andyk
5个回答

28
在PHP中,函数die()会终止脚本的运行并输出其参数(如果有的话)。 http://php.net/die

9
这并不完全准确。如果使用一个整数参数调用die()函数,它会返回该值。在Web环境中可能意义不大,但在CLI PHP脚本中,返回值是有意义的;它可以在shell中使用。 - Alexander Garden

13
显然,die() 或者它的等效函数 exit() 不会向脚本本身返回任何内容;准确地说,这段代码没有太多意义:
if (die())) {
    echo 'are we dead yet?';
}

然而,根据您传递给die()exit()的(可选)参数,它确实向调用者返回一些内容,即导致脚本运行的命令。它的实际用途通常限于使用cli SAPI时,在命令行中使用php /path/to/script.php调用脚本。请注意:
die('goodbye cruel world');

这段代码会输出goodbye cruel world,然后返回一个退出状态码0的值,向调用者发出进程正常终止的信号。
另一个例子:
die(1);

当您传递整数值而不是字符串时,将不会打印任何内容,并且退出状态码将为1,向调用者发出信号表明进程未正常终止。
最后,没有任何参数的die()die(0)相同。
进程的退出状态可以更改以表示可能发生的不同类型的错误,例如1表示一般错误,2表示无效用户名等。

3

2
它不会返回任何值。脚本被终止,其他代码也不会执行。

在终止之前,它会打印给定的消息。https://www.w3schools.com/PHP/func_misc_die.asp - SherylHohman

1

在die/exit中没有理由返回任何东西。该函数终止php解释器进程并将退出代码返回给shell。因此,在调用die()之后,除非执行脚本的解释器进程不存在,否则不会执行任何脚本,这就是为什么没有办法处理函数的返回值。


在终止进程之前,它会打印出 $message。 - SherylHohman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接