本篇文章簡(jiǎn)要分析一下在php中經(jīng)常用到的exit和die的區(qū)別,有需要的朋友可以看一下。
創(chuàng)新互聯(lián)成立10余年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)通過對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
首先思考一個(gè)問題:
如下代碼會(huì)向頁(yè)面顯示什么?
曾經(jīng)有段時(shí)間我一直認(rèn)為 頁(yè)面會(huì)顯示 123,但實(shí)踐結(jié)果告訴我,答案錯(cuò)了,頁(yè)面一片空白!
一直不知道為什么,死活不輸出123,為了讓頁(yè)面輸出123,我把它修改為如下代碼:
查看代碼打印
網(wǎng)上的一段資料:
PHP中exit()與die()的區(qū)別
PHP手冊(cè):die()Equivalent to exit()。
說明:die()和exit()都是中止腳本執(zhí)行函數(shù);其實(shí)exit和die這兩個(gè)名字指向的是同一個(gè)函數(shù),die()是exit()函數(shù)的別名。該函數(shù)只接受一個(gè)參數(shù),可以是一個(gè)程序返回的數(shù)值或是一個(gè)字符串,也可以不輸入?yún)?shù),結(jié)果沒有返回值。
參考:雖然兩者相同,但通常使用中也有細(xì)微的選擇性。例如:
當(dāng)傳遞給exit和die函數(shù)的值為0時(shí),意味著提前終止腳本的執(zhí)行,通常用exit()這個(gè)名字。
當(dāng)程序出錯(cuò)時(shí),可以給它傳遞一個(gè)字符串,它會(huì)原樣輸出在系統(tǒng)終端上,通常使用die()這個(gè)名字。
回到前面這個(gè)話題,下面代碼為什么不輸出 123 到頁(yè)面?
自己總結(jié):
1、功能上,die() 就等同于 exit();
2、PHP有多種運(yùn)行方式,即可網(wǎng)站形式,也可腳本形式(不需要Web服務(wù)器)。
當(dāng)PHP為腳本形式運(yùn)行時(shí),建議用exit():
比如說 Bash Shell腳本語言,當(dāng)它要停止運(yùn)行時(shí),會(huì)用 exit()函數(shù)終止腳本,并允許輸出點(diǎn)內(nèi)容到運(yùn)行環(huán)境(一般是存儲(chǔ)到一個(gè)全局變量中),但輸出的內(nèi)容只能是 數(shù)字,表示“命令的結(jié)束狀態(tài)”。
相關(guān)參考鏈接:http://blog.snsgou.com/post-711.html
也就是說,exit(123)只是輸出一種運(yùn)行狀態(tài)123,而不是真的要向控制臺(tái)輸出 123。如果要向控制臺(tái)輸出123,代碼得改成如下形式:
當(dāng)PHP為網(wǎng)站形式運(yùn)行時(shí),建議用die():
但此時(shí) die(數(shù)字),就沒啥意義,因?yàn)樗粫?huì)向頁(yè)面輸出 數(shù)字 字符串,也就是說,如果想讓頁(yè)面終止并且輸出數(shù)字的話,得改成如下形式