先思考一個問題:
如下程式碼會向頁面顯示什麼?
<?php
3
?>
|
| 曾經有一段時間我一直認為頁面會顯示123,但實作結果告訴我,答案錯了,曾經有一段時間錯了頁面會顯示空白!
一直不知道為什麼,死活不輸出123,為了讓頁輸出123,我把它修改為如下碼:
1
'123'
;
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"
| ;
// 22222不會被輸出,因為程式運行到exit(0)時,腳本已經提前終止,「馬上斷氣」。
當程式出錯時,可以給它傳遞一個字串,它會原樣輸出在系統終端上,通常使用die()這個名字。 |
|
1
$fp= | )
or die ( "不能開啟該檔案"
| );
如果fopen函數被調用當返回布林值false時,die()會立即終止腳本,並馬上列印
| 3
兩句話」。
回到前面這個主題,為什麼下面程式碼不輸出 123 到頁?
1
<?php
|
<?php
3
自己總結:
1 、功能上,die() 就等同於exit();
2、PHP有多種運作方式,即可網站形式,也可腳本形式(不需要Web伺服器)。
當PHP為腳本形式運行時,建議用exit():
比如說Bash Shell腳本語言,當它要停止運行時,會用exit()函數終止腳本,並允許輸出點內容到運行環境(一般是儲存到一個全域變數),但輸出的內容只能是
數字,表示「 指令的結束狀態 | 」。 相關參考連結:http://blog.snsgou.com/post-711.html | 也就是說,exit(123)只是輸出一種運作狀態123,而不是真的要向控制台輸出字串123。如果要輸出123,程式碼要改成以下形式:
'123'
);
|
| ?
但此時 die(數字),就沒啥意義,因為它不會輸出
數字字串,也就是說,如果想讓頁面終止並且輸出數字的話,得改成如下形式
die
以上就介紹了php中的die和exit區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。