PHP中終止程式輸出的exit和die

2021-09-09 08:51:38 字數 2134 閱讀 4930

今天我們來看看如何終止程式,往往在專案開發中,你可能需要排查錯誤,這個時候,不希望後面的內容輸出影響顯示,可以用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...