今天我們來看看如何終止程式,往往在專案開發中,你可能需要排查錯誤,這個時候,不希望後面的內容輸出影響顯示,可以用exit來進行程式的終止,也有die可以使用,而die在php官網上說語法結構等同於exit。接下來就跟隨我看看,這個怎麼用。①作用:輸出乙個訊息並且退出當前指令碼
語法:exit ([ string $status ] ) : void 或者 exit ( int $status ) : void
返回值:沒有返回值。
如果 status 是乙個字串,在退出之前該函式會列印 status 。
如果 status 是乙個 integer,該值會作為退出狀態碼,並且不會被列印輸出。 (退出狀態碼應該在範圍0至254,不應使用被php保留的退出狀態碼255。狀態碼0用於成功中止程式)
exit;//直接停止程式執行,不輸出東西。
exit();//exit 是個語法結構,如果沒有 status 引數要傳入,可以省略圓括號。
#引數如果是字串,就會在退出程式前列印引數
exit('quit');//列印quit然後退出
exit('1');//列印1然後退出
#引數如果是整型,就會直接退出程式
exit(0);//正常執行程式並退出程式
exit(1);//非正常執行導致退出程式
②exit擋不住的**
經過register_shutdown_function註冊的函式與析構函式都會被執行,而且是先執行註冊過的函式 後執行析構函式。
register_shutdown_function()是php內建的函式, 註冊乙個會在php中止時執行的函式,註冊乙個callback
,它會在指令碼執行完成或者 exit 後被呼叫。
class foo
}function foo()
$foo = new foo();
register_shutdown_function('foo');
exit();
echo 'ending';
結果:(看來是終止的時候先執行註冊函式,在執行析構函式)
i am function foo
i am destruct: foo::__destruct
作用:die語法結構等同於 exit()。輸出乙個訊息並且退出當前指令碼
die;
die();//實際上如果沒有引數的話,不帶括號更好。
#如果引數是字串
die('quit');//列印quit然後退出
#如果引數是integer
die(0);
#一般用於連線或者函式返回錯誤時候,執行die輸出資訊後退出程式
mysqli_connect('localhost','root','root') or die('mysql connect is fail');
①exit 和 die 都是中止指令碼執行語言結構。在php官網上,這兩個被分到雜項函式,我理解的,可能是這兩個可以有函式的用法,也可以不加圓括號作為函式使用。
②exit或者die不加引數的話,最好不帶括號。直接使用。
exit(status)或者die(status)使用引數
如果 status 是乙個字串,在退出之前該函式會列印 status 。
如果 status 是乙個 integer,該值會作為退出狀態碼,並且不會被列印輸出。 (退出狀態碼應該在範圍0至254,不應使用被php保留的退出狀態碼255。狀態碼0用於成功中止程式)
③exit和die這兩者在實際**過程中可以存在一定的選擇差別.
例如這樣:涉及到提前終止程式/指令碼執行的情況,使用exit();
當程式出錯或者說函式返回失敗,為了停止執行並顯示提示資訊時,使用die()。
function a()
function b()
a();//輸出b
#這個裡面exit作為終止程式使用,不提供資訊
function a()
function b()
a();//輸出b
#這裡利用die終止程式並且返回b
PHP中die 與exit 的區別
die 與exit php手冊 die equivalent to exit 說明 die 和exit 都是中止指令碼執行函式 其實exit和die這兩個名字指向的是同乙個函式,die 是exit 函式的別名。該函式只接受乙個引數,可以是乙個程式返回的數值或是乙個字串,也可以不輸入引數,結果沒有返回...
PHP中die 與exit 的區別
die 與exit php手冊 die equivalent to exit 說明 die 和exit 都是中止指令碼執行函式 其實exit和die這兩個名字指向的是同乙個函式,die 是exit 函式的別名。該函式只接受乙個引數,可以是乙個程式返回的數值或是乙個字串,也可以不輸入引數,結果沒有返回...
php中return和exit的區別
ps 本人親測,阿里雲2核4g5m的伺服器價效比很高,新使用者一塊多一天,老使用者三塊多一天,最高可以買三年,感興趣的可以戳一下 阿里雲折扣伺服器 exit 是停止程式執行,不輸出內容 return 是返回值,跳出函式,但不停止程式執行 補充 一下,exit 後面 加個 也是可以輸出內容的!retu...