PHP中exit,exit(0),exit(1),exit('0'),exit('1'),die,return的區別

die()停止程序運行,輸出內容
exit是停止程序運行,不輸出內容
return是返回值
die是遇到錯誤才停止
exit是直接停止,並且不運行後續代碼,exit()可以顯示內容。
return就是純粹的返回值了,但是也不會運行後續代碼
exit(0)正常運行程序並退出程序;
exit(1)非正常運行導致退出程序;
return()返回函數,若在主函數中,則會退出函數並返回一值。

die('1')  die()和exit()都是中止腳本執行函數;其實exit和die這兩個名字指向的是同一個函數,die()是exit()函數的別名。該函數只接受一個參數,可以是一個程序返回的數值或是一個字符串,也可以不輸入參數,結果沒有返回值。

參考:雖然兩者相同,但通常使用中也有細微的選擇性。

當傳遞給exit和die函數的值爲0時,意味着提前終止腳本的執行,通常用exit()這個名字。

echo "1111";
exit(0);
echo "2222";

當程序出錯時,可以給它傳遞一個字符串,它會原樣輸出在系統終端上,通常使用die()這個名字。

$fp=fopen("./readme.txt","r") or die("不能打開該文件");
//這種情況下,如果fopen函數被調用返回布爾值false時,die()將立即終止腳本,並馬上打印
//傳遞給它的字符串,“死前還能說一兩句話”。

同樣的die('1')也通exit('1')一樣,輸出1

echo "begin";
die('1');
echo "end";
//輸出begin1

 

exit(1) 不輸出內容,結束程序

echo "begin";
exit(1);
echo "end";
//輸出begin

 

exit(0) 不輸出內容,結束程序

echo "begin";
exit(0);
echo "end";
//輸出begin

 

exit('0') 輸出0 並結束程序

echo "begin";
exit('0');
echo "end";
//輸出begin0

 

exit('1') 輸出1 並結束程序

echo "begin";
exit('1');
echo "end";
//輸出begin1

 

return 返回值,後續的程序也不執行,值並不輸出

echo "begin";
return 1;
echo "end";
//輸出begin,return的值沒有輸出到屏幕,而是返回給了上一層

 

總結:

1

2

3

4

5

6

return是返回值

die是遇到錯誤才停止

exit是直接停止,並且不運行後續代碼,exit()可以顯示內容。

return就是純粹的返回值了,但是也不會運行後續代碼

exit(0):正常運行程序並退出程序;

exit(1):非正常運行導致退出程序;


更多:
https://www.cnblogs.com/jiqing9006/p/5041229.html
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章