PHP 杂项函数

PHP die() 函数输出一条消息并终止当前脚本的执行。

即使调用 die()函数,关闭函数和对象析构函数也始终会被执行。

die 是一种语言构造,如果没有参数status,则可以在没有括号的情况下调用它。

注意:请注意,这是一个语言构造,而不是一个函数。此语言构造相当于 exit()

语法

die(status) 

参数

status可选。 将 status 指定为 int 或 string。
  • 如果 status 是字符串,则此函数在退出之前打印 status
  • 如果 status 是一个 int,该值将用作退出状态并且不会打印。退出状态应在 0 到 254 范围内,退出状态 255 由 PHP 保留,不得使用。状态0用于成功终止程序。

返回值

没有返回值。

示例:die() 示例

下面的示例展示了如何使用 die() 函数。

<?php
error_reporting(E_ERROR);

$filename = 'test.txt';
$file = fopen($filename, 'r')
    or die("Unable to open file $filename");
?> 

上述代码的输出将是:

Unable to open file test.txt 

示例:退出状态示例

在下面的示例中,status 作为 int 传递,其中被程序用作退出状态。

<?php
//正常退出程序
die;
die();
die(0);

//退出并返回错误代码
die(1);
die(0376); //八进制
?> 

示例:关闭函数和析构函数无论如何都会运行

下面的示例显示关闭函数和对象析构函数都会被执行即使die被调用。

<?php
//定义一个类
class Foo {
  public function __destruct() {
    echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
  }
}

//定义关闭函数
function shutdown() {
  echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}

//创建 Foo 类的对象
$foo = new Foo();

//注册关闭函数
register_shutdown_function('shutdown');

//调用die
die();
echo 'This will not be displayed.';
?> 

上述代码的输出将是:

Shutdown: shutdown()
Destruct: Foo::__destruct()