ホームページ  >  記事  >  バックエンド開発  >  PHPのdieとexitの違い

PHPのdieとexitの違い

WBOY
WBOYオリジナル
2016-07-30 13:30:371012ブラウズ

最初に質問を考えてください:

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

1 <?php

2die(123);

3?>

曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白!

一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码:

1 <?php

2echo'123';

3die();

4?>

网上的一段资料:

PHP中exit()与die()的区别

PHP手册:die()Equivalent to exit()。

说明:die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。

参考:虽然两者相同,但通常使用中也有细微的选择性。例如:

当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。

1 echo"1111";

2 exit(0);

3 echo"2222"1// 22222不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。

当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。

1 $fp=fopen("./readme.txt","r"<?phpordie("不能打开该文件");

2// 这种情况下,如果fopen函数被调用返回布尔&#20540;false时,die()将立即终止脚本,并马上打印

3// 传递给它的字符串,“死前还能说一两句话”。


回到前面这个话题,下面代码为什么不输出 123 到页面?

1<?php

2die(123);

3// 或 exit(123);

4?>

2

    死ぬ
  • (123);

3

?>1 <?php

2exit('123');

3?>
🎜🎜🎜🎜 ページには 123 が表示されると常に考えていた時期がありましたが、実際の結果から、答えは間違っていることがわかり、ページが表示されました。空白だった! 🎜🎜理由はまだわかりませんが、123が出力されないようにするには、次のコードに変更しました。 php🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜2🎜🎜🎜🎜echo🎜🎜'123'🎜🎜;🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜3🎜🎜🎜🎜死ね🎜🎜(); 🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜4🎜🎜🎜🎜?> 🎜🎜PHPマニュアル 🎜:die()exit()と同等。 🎜🎜🎜説明🎜: die() と exit() はどちらもスクリプトの実行を終了する関数です。実際、2 つの名前 exit と die は同じ関数を指しており、die() は exit() 関数のエイリアスです。この関数は、プログラムまたは文字列によって返される値であるパラメータを 1 つだけ受け入れます。あるいはパラメータを入力できず、結果は戻り値になりません。 🎜🎜🎜参考🎜: この 2 つは同じですが、通常の使用には微妙な選択性があります。例: 🎜🎜 exit 関数と die 関数に渡される値が 0 の場合、通常は exit() という名前を使用して、スクリプトの実行を早期に終了することを意味します。 🎜🎜🎜🎜🎜🎜🎜🎜🎜1🎜🎜🎜🎜エコー🎜🎜「1111」🎜🎜;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜2🎜🎜🎜🎜終了🎜🎜(0);🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜3🎜🎜🎜🎜エコー🎜🎜"2222"🎜🎜; 🎜🎜// 22222 は出力されません。プログラムが exit(0) に達すると、スクリプトは早期に終了し、「すぐに終了する」ためです。 🎜🎜🎜🎜🎜🎜🎜🎜🎜プログラムにエラーが発生した場合、文字列を渡すと、通常は die() という名前を使用してシステム端末にそのまま出力されます。 🎜🎜🎜🎜🎜🎜🎜🎜🎜1🎜🎜🎜🎜$fp🎜🎜=🎜🎜fopen🎜🎜(🎜🎜"./readme.txt"🎜🎜,🎜🎜"r " 🎜🎜) 🎜🎜or🎜🎜die🎜🎜(🎜🎜"ファイルを開けません"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜2🎜🎜🎜🎜//ブール値を返すときに関数が呼び出されます値が false の場合、die() はスクリプトを即座に終了し、渡された文字列「死ぬ前に何か言ってもいい『2 つの文』」をすぐに出力します。 🎜🎜🎜🎜🎜🎜🎜🎜
🎜前のトピックに戻りますが、次のコードがページに 123 を出力しないのはなぜですか? 🎜🎜🎜🎜🎜🎜🎜🎜🎜1🎜🎜🎜🎜<?php🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜2🎜🎜🎜 🎜死ぬ🎜🎜(123);🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜3🎜🎜🎜🎜//または exit(123);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜4🎜🎜🎜🎜?>🎜 🎜🎜🎜🎜🎜🎜🎜私自身の要約: 🎜 🎜1. 機能的には、die() は exit() と同等です。2. PHP には、Web サイト形式またはスクリプト形式で複数の実行メソッドがあります (Web サーバーは必要ありません)。 🎜🎜🎜PHP がスクリプトとして実行されている場合は、exit() を使用することをお勧めします。🎜🎜🎜たとえば、Bash シェル スクリプト言語は、実行を停止したい場合、exit() 関数を使用してスクリプトを終了します。出力コンテンツを実行できるようにします (通常はグローバル変数に保存されます)。ただし、出力コンテンツは実行することしかできません。 「🎜コマンド🎜の終了ステータス」を示す数値。 🎜🎜関連参考リンク: http://blog.snsgou.com/post-711.html🎜🎜 つまり、exit(123) は実際にコンソール 123 に文字列を出力するのではなく、実行ステータス 123 を出力するだけです。 123 をコンソールに出力したい場合は、コードを次の形式に変更する必要があります: 🎜🎜🎜🎜🎜🎜🎜🎜🎜1🎜🎜🎜🎜<?php🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜 2🎜🎜🎜🎜exit🎜🎜(🎜🎜'123'🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜3🎜🎜🎜🎜?> 🎜🎜🎜🎜🎜
  • PHPをWebサイトとして実行する場合は、die()を使用することをお勧めします:

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

11 <?php

2die('123');

<? php
3?>

🎜🎜🎜2🎜🎜die('123'</code) ><code>) ;🎜🎜🎜🎜🎜🎜🎜🎜🎜3🎜🎜?>🎜🎜🎜🎜 🎜 上記では、PHP における die と exit の違いを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。