exitexitphp
① php中大量使用die或exit是否有弊端
exit和die是人為結束腳本運行,顧名思義,可讀性肯定沒有問題的。
性能方面,直接結束腳本運行,對性能是有益無害。
如果非要說弊端,那我認為是:本來應毀散該用return的時候卻使用了exit,可能腳本提前退出,造成亮物功能上的問題。不過,我認為這是寫代碼的人的問題,和語法結構沒有關系。
所以,敬余液該用就用吧,放心大膽的用,提供出來就是讓人使用的。
② 說一下PHP中die()和exit()區別
1、用法習慣不同,當傳遞給exit和die函數的值為0時,意味著提前終止腳本的執行,通常用exit()這個名字。
2、名字不同,其實PHP手冊已經說過「die — Equivalent to exit().This language construct is equivalent to exit(). 」兩者只是別名關系,除此之外完全一樣。
3、源碼的處理方式不同,無論是別名函數還是別名語言結構,從實際效果角度講,都是一樣的,但是源碼的處理方式還是有一定的差異。
(2)exitexitphp擴展閱讀:
die()和exit()差異實例:
zend_language_parser.c中,定義了一個宏
#define T_EXIT 300
還定義了一個enum,裡面也有
enum yytokentype {
…
T_EXIT = 300,
….
}
這里告訴我們,T_EXIT這個token,它的code是300。
再看zend_language_scanner.l,其中有這么幾行代碼。
<ST_IN_SCRIPTING>」exit」 {
return T_EXIT;
}
<ST_IN_SCRIPTING>」die」 {
return T_EXIT;
}
很明顯,php做詞法分析時,無論遇到exit還是die,都會返回T_EXIT這個token。從這里酒可以證明,die和exit,再php內部處理是完全一樣的。
也可以用下列php代碼來確定:
<?php
var_mp(token_get_all(「<?php die;exit;?>」));
返回的結果中die和exit對應的token code,都是300。
PHP exit() 函數-w3school
PHP die() 函數-w3school
③ php exit能否回收線程
不能,PHP沒有回收機制,只有等系統自動去回收在處理。
④ php exit後退出當前程序,如何繼續執行下面另外的腳本
呵呵 這是不可能的,一個php文件就是一個腳本,只要執行了exit,將停止腳本解析,將所需的輸出.
所以,你要慎用exit.不是出錯造成的不可恢復狀態,基本不要用exit.
其實 你完全可以將你所謂的"程序1"修改成分支判斷,就是if/else,switch等語句替代exit完成的任務.