この記事では、php でよく使用される exit と die の違いを簡単に分析しています。困っている方はご覧ください。
まず質問について考えてみましょう:
次のコードはページに何を表示しますか?
<?php die(123); ?>
ページには 123 が表示されると常に考えていた時期がありましたが、実際の結果では、答えは間違っており、ページは空白でした。
理由はまだわかりませんが、123 が出力されないようにするには、ページを次のコードに修正しました。
<?php echo '123'; die(); ?>
インターネット上の情報:
PHP の exit() と die() の違い
PHP マニュアル: die() exit() と同等。
説明: die() と exit() はどちらもスクリプトの実行を終了する関数です。実際、2 つの名前 exit と die は同じ関数を指し、die() はその別名です。 exit() 関数。この関数は、プログラムによって返される 値 または 文字列 のパラメーターを 1 つだけ受け入れます。パラメーターを入力しない場合、結果には戻り値がありません。
参考: この 2 つは同じですが、通常の使用には微妙な選択性があります。例:
exit 関数と die 関数に渡される値が0 の場合、通常は exit() という名前を使用して、スクリプトの実行を早期に終了することを意味します。
echo "1111"; exit(0); echo "2222"; // 22222不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。
$fp=fopen("./readme.txt","r") or die("不能打开该文件"); // 这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印 // 传递给它的字符串,“死前还能说一两句话”。
前のトピックに戻りますが、次のコードがページに 123 を出力しないのはなぜですか?
<?php die(123); // 或 exit(123); ?>
自分自身の要約:
1. 機能的には、die() は exit();と同等です。
2. PHP には、Web サイト形式またはスクリプト形式の複数の実行モードがあります (Web サーバーは必要ありません)。
PHP をスクリプト形式で実行する場合は、exit() を使用することをお勧めします:
たとえば、Bash Shell スクリプト言語は、実行を停止したい場合、exit() 関数を使用してスクリプトを終了し、出力コンテンツを実行環境 (通常はグローバル変数) を使用しますが、出力内容は 数値 のみです。これは、「コマンドの終了ステータス」を意味します。
関連参考リンク: http://blog.snsgou.com/post-711.html言い換えると、exit(123) は実際に 123 を
コンソール に出力するのではなく、実行ステータス 123 を出力するだけです。 123 を コンソール に出力したい場合は、コードを次の形式に変更する必要があります:
<?php exit('123'); ?>
PHP が Web サイトとして実行されている場合は、die() を使用することをお勧めします:
しかし、現時点では、die(number) は意味がありません。number 文字列をページに出力しないからです。ページを終了して数値を出力したい場合は、次の形式に変更する必要があります
<?php die('123'); ?>
興味がありそうな記事