1. ホーム
  2. php

[解決済み] exit, exit(), exit(0), die(), die(0) - スクリプトを終了させる方法

2023-07-17 22:31:47

質問

私は、これらすべて(さらには die() または die(0) は同じです。 同じでない場合、どちらがスクリプトを正常に終了させるのに適していますか? もし同じなら、スクリプトが正常に終了したことを示すのに、何か好ましい基準があるのでしょうか? 私がよく使うのは exit; .

編集:すべての回答には"があります。 die()exit() は同一である" 私の質問でそう言っているのに。 これは私の質問ではないことを明確にするために、タイトルを更新しました。 私は、コマンドラインスクリプトからの成功を明確に示したいと思っています。

どのように解決するのですか?

これらはすべて同じです。確か die() は単にストレートに exit() のエイリアスですが、そうでない場合でも、同じように動作します。

これらの関数のいずれかに文字列の引数が与えられると、プロセスを終了する前にその文字列をプリントアウトします。255以下の整数に遭遇した場合、その整数はプロセスのリターンコードとみなされ、PHPスクリプトを呼び出したプロセスに戻されます。これは、コマンドラインアプリケーションを書く際に特に有用です (PHPはウェブ専用ではありません!)。

との違いに関しては exit , exit() そして exit(0) の2つがありますが、本当に何もありません。最初の2つには間違いなく違いがありません。 exit は技術的には関数ではなく言語の構成要素なので、括弧の有無に関わらず echo . のコードを返すと 0 は、"このプログラムは正常に/エラーなしに実行された"という意味で、引数を渡さなかったときに何が起こるかは正確にはわかりませんが。 PHP.net によると、引数なしの exit は成功を意味すると言っているので、私はそれが 0 を返すに違いないのですが、また PHP.net は引数のデフォルトを表示しません。