ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの exit() と die() の違い

PHP_PHP チュートリアルの exit() と die() の違い

WBOY
WBOYオリジナル
2016-07-13 10:35:361061ブラウズ

まず質問を考えてください:

次のコードはページに何を表示しますか?

コードは次のとおりです

死ぬ(123);

?>

ページには 123 が表示されると常に思っていた時期がありましたが、実際の結果では、答えは間違っており、ページは空白でした。

理由はまだわかりませんが、123 が出力されないようにするには、ページを次のコードに修正しました。

コードは次のとおりです
エコー「123」

;

死ぬ();

?>


インターネット上の情報:

PHP の exit() と die() の違い

PHPマニュアル:die()exit()と同等。

注: die() と exit() はどちらもスクリプトの実行を終了する関数です。実際、exit と die の 2 つの名前は同じ関数を指しており、die() は exit() 関数のエイリアスです。この関数は、プログラムまたは文字列によって返される値であるパラメータを 1 つだけ受け入れます。あるいはパラメータを入力できず、結果は戻り値になりません。

参考:両者は同じですが、通常の使用においては微妙な選択性があります。例:

exit 関数と die 関数に渡される値が 0 の場合、通常は exit() という名前を使用して、スクリプトの実行を早期に終了することを意味します。

コードは次のとおりです

「1111」をエコーし​​ます

終了(0)

「2222」をエコーし​​ます

// 22222 は出力されません。プログラムが exit(0) に到達すると、スクリプトは早期に終了しており、「すぐに終了する」ためです。

プログラムにエラーが発生した場合、通常は die() という名前を使用してシステム端末にそのまま出力される文字列を渡すことができます。

2 // この場合、fopen 関数が呼び出され、ブール値 false が返された場合、die() はすぐにスクリプトを終了し、すぐに出力します

3 // 渡された文字列は、「死ぬまでに一言か二言言えます」。

------------------------------------------------- - ---------------------------------

前のトピックに戻りますが、次のコードがページに 123 を出力しないのはなぜですか?

コードは次のとおりです
$fp=fopen("./readme.txt","r") または die("ファイルを開けません");

自分でまとめたもの:

1. 機能的には、die() は exit(); と同等です

2. PHP には、Web サイト形式またはスクリプト形式の複数の実行モードがあります (Web サーバーは必要ありません)。

PHP をスクリプト形式で実行する場合は、exit() を使用することをお勧めします:

たとえば、Bash Shell スクリプト言語は、実行を停止したい場合、exit() 関数を使用してスクリプトを終了し、出力コンテンツを実行環境 (通常はグローバル変数に保存される) に許可しますが、出力コンテンツは「コマンドの終了ステータス」を示す数値のみを指定できます。

つまり、exit(123)は実際にコンソールに123を出力するのではなく、実行ステータスの123を出力するだけです。 123 をコンソールに出力したい場合は、コードを次の形式に変更する必要があります:

コードは次のとおりです

死ぬ(123);

// または exit(123);

?>

コードは次のとおりです


終了('123')
?>

PHP が Web サイトとして実行されている場合は、die() を使用することをお勧めします:

ただし、この時点では、die (number) はページに数値文字列を出力しないため意味がありません。つまり、ページを終了して数値を出力したい場合は、次の形式に変更する必要があります

コードは次のとおりです

死ぬ('123')

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/743706.html技術記事最初に質問を考えてみましょう。次のコードはページに何を表示しますか? コードは次のとおりです。私は常にページに 123 が表示されると考えていましたが、実際の結果からわかりました。それが答えです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。