php 终止程序的方法——return、exit()、die()
php中終止程序的運行有三種方式:
- return,主腳本程序中使用
 - exit(),腳本中使用
 - die(), 腳本中使用
 
三者所在的腳本文件他們之后的代碼都不會執行了。php開發模式下想直接看到變量的值使用exit()、die()。
return
return是語言結構而不是函數。
如果一個函數中包含return 語句,當調用此函數時,函數的執行只會進行到return這一步,return之后的語句都不會執行,并將return的參數作為函數的值返回。
如果在全局范圍中調用,則當前腳本文件中止運行。如果當前腳本文件是被 include 的或者 require 的,則控制交回調用文件。此外,如果當前腳本是被 include 的,則 return 的值會被當作 include 調用的返回值,相應的在主腳本文件中定義一個變量進行返回值的接收。
如果在主腳本文件中調用 return,則腳本中止運行。
注意事項:
- 返回參數,建議不加括號。因為return 是語言結構而不是函數,通常其參數都不用括號,實際上也應該不用,這樣可以降低 PHP 的負擔。
 - 無參數返回時,一定不加括號。因為無參數返回時,默認返回 NULL。如果調用 return 時加上了括號卻又沒有參數會導致解析錯誤。
 
exit()
輸出一個消息并且退出當前腳本。
| 1 2  | void exit ([ string $status ] ) void exit ( int $status )  | 
如果 status 是一個字符串,在退出之前該函數會打印 status 。
如果 status 是一個 integer,該值會作為退出狀態碼,并且不會被打印輸出。 退出狀態碼應該在范圍0至254,不應使用被PHP保留的退出狀態碼255。 狀態碼0用于成功中止程序。
Note: PHP >= 4.2.0 當 status 是一個 integer,不會打印輸出。
die()
關于die()的使用,官方文檔給的是結構與die()一致。
說明:die()和exit()都是中止腳本執行函數;其實exit和die這兩個名字指向的是同一個函數,die()是exit()函數的別名。該函數只接受一個參數,可以是一個程序返回的數值或是一個字符串,也可以不輸入參數,結果沒有返回值。
參考:雖然兩者相同,但通常使用中也有細微的選擇性。例如:
當傳遞給exit和die函數的值為0時,意味著提前終止腳本的執行,通常用exit()這個名字。
當程序出錯時,可以給它傳遞一個字符串,它會原樣輸出在系統終端上,通常使用die()這個名字。
4、三者比較
功能上,die() 就等同于 exit();
PHP有多種運行方式,即可網站形式,也可腳本形式(不需要Web服務器)。
- 當PHP為腳本形式運行時,建議用exit():
 - 當PHP為網站形式運行時,建議用die():
 
(1)die與exit
手冊上標明 “die — Equivalent to exit().This language construct is equivalent to exit().”。
但在實際代碼過程中可以存在一定的選擇差別,例如這樣:涉及到提前終止程序/腳本執行的情況,使用exit();當程序出錯,為了停止執行并顯示提示信息時,使用die()。
(2)return與exit(或die)
return是結束當前的函數/文件/腳本/其他的執行,并將信息返回給調用他的其他 函數/文件/腳本/其他 。也就是說,執行到return后,程序并未完全結束,只是攜帶了有效的信息返回到調用他的上一級(這句話不嚴謹,如果return是在主腳本文件中,則該腳本也會停止執行),如果return有參數,還需要有變量接收返回值。 但是exit(或die)則不同,他是使當前執行停止到這里,并且不再進行下去。如果有參數,會直接打印出來(只針對字符串)。
參考:
總結
以上是生活随笔為你收集整理的php 终止程序的方法——return、exit()、die()的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 医保账户余额怎么算的,医保账户为什么余额
 - 下一篇: 花呗扫二维码最多可以支付多少