exit

メッセージを出力し、現在のスクリプトを終了する

説明

void exit(string $status = ?)
void exit(int $status)

スクリプトの実行を終了します。 シャットダウン関数オブジェクトのデストラクタ は、exit がコールされた場合にも実行されます。

exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。

パラメータ

status

status が文字列の場合は、この関数は終了直前に status を表示します。

statusint の場合は その値が終了ステータスとして使われ、表示はされません。終了ステータスは 0 から 254 までの値でなければなりません。終了ステータス 255 は PHP に予約されており、使用してはいけません。ステータス 0 は、 プログラムを正常終了させる際に使用します。

戻り値

値を返しません。

例1 exit の例

<?php

$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
    or exit("ファイル ($filename) をオープンできません");

?>

例2 exit でステータスを指定する例

<?php

// 正常終了
exit;
exit();
exit(0);

// エラーコードつきの終了
exit(1);
exit(0376); // 八進数

?>

例3 シャットダウン関数やデストラクタが実行される例

<?php
class Foo
{
    public function __destruct()
    {
        echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
    }
}

function shutdown()
{
    echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'これは出力されません。';
?>

上の例の出力は以下となります。

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

注意

注意: これは、関数ではなく 言語構造のため、可変関数名前付き引数 を用いてコールすることはできません。

注意:

この言語構造は、die と等価です。

参考

  • register_shutdown_function