PHP中最低級(jí)別的錯(cuò)誤類型總結(jié)
序言:php錯(cuò)誤就是會(huì)使腳本運(yùn)行不正常的情況。
php的錯(cuò)誤有很多種,包括warning、notice、deprecated、fetal error等。其中notice不叫通知,而叫通知級(jí)別的錯(cuò)誤,warning也不叫警告,而叫警告級(jí)別的錯(cuò)誤。
錯(cuò)誤大致分為下面幾個(gè)類型
- deprecated是最低級(jí)別的錯(cuò)誤,表示“不推薦,不建議”。比如PHP5中使用的ereg系列的正則匹配函數(shù)就會(huì)報(bào)此類錯(cuò)誤。這種錯(cuò)誤一般由于使用不推薦的、過時(shí)的函數(shù)或語(yǔ)法造成的。其雖不影響PHP正常流程,但一般情況下建議修正。
- 其次是notice。這種錯(cuò)誤一般是語(yǔ)法中存在不當(dāng)?shù)牡胤?。如使用變量但是未定義就會(huì)報(bào)此錯(cuò)。最常見的是在數(shù)組索引是字符時(shí)沒有加引號(hào),PHP就視為一個(gè)常量,先查找常量表,找不到再視為變量。雖然PHP是腳本語(yǔ)言,語(yǔ)法要求不嚴(yán),但是仍然建議對(duì)變量進(jìn)行初始化。這種錯(cuò)誤不影響PHP正常流程。
- warning是級(jí)別比較高的錯(cuò)誤,在語(yǔ)法中出現(xiàn)很不恰當(dāng)?shù)那闆r時(shí)才會(huì)報(bào)此錯(cuò)誤,比如函數(shù)參數(shù)不匹配。這種級(jí)別的錯(cuò)誤會(huì)導(dǎo)致得不到預(yù)期結(jié)果,需要修改代碼。
- 更高級(jí)別的錯(cuò)誤是fetal error。這是致命錯(cuò)誤,直接導(dǎo)致PHP進(jìn)程終結(jié),后面的代碼不再執(zhí)行。這種問題非改不可
- 高級(jí)別的錯(cuò)誤是語(yǔ)法解析錯(cuò)誤prase error。上面提到的錯(cuò)誤都屬于PHP代碼運(yùn)行期間錯(cuò)誤,而語(yǔ)法解析錯(cuò)誤屬于語(yǔ)法檢查階段錯(cuò)誤,這將導(dǎo)致PHP代碼無法通過語(yǔ)法檢查。
這里只是列舉了最常見的幾個(gè),php手冊(cè)一共有16個(gè)級(jí)別的錯(cuò)誤。
$date = date('Y-m-d');; if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$date,$regs)){ echo $regs[1]."-".$regs[2]."-".$regs[3]; }else{ echo "沒有匹配到"; } //Deprecated(在php5版本),F(xiàn)atal error(在php7版本) if($i > 2020){ echo '$i沒有初始化!!!',PHP_EOL; } //Notice $arr = array('arr'=>1,2,3); echo $arr[arr]; //Warning $res = array_sum($arr,1); //Warning echo fun(); //Fatal error echo "最高級(jí)別錯(cuò)誤'; //Parse error
上面的代碼演示了php常見的幾個(gè)錯(cuò)誤級(jí)別,如果沒有輸出完整的話,可以看看php.ini配置文件看看是否如下設(shè)置
error_reporting=E_ALL | E_STRICT display_errors=On
其中的error_reporting是指定錯(cuò)誤級(jí)別,display_errors就不用說了。
到此這篇關(guān)于PHP中最低級(jí)別的錯(cuò)誤類型總結(jié)的文章就介紹到這了,更多相關(guān)PHP中最低級(jí)別的錯(cuò)誤類型有哪些內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
apache和php之間協(xié)同工作的配置經(jīng)驗(yàn)分享
閑暇之時(shí)也會(huì)對(duì)PHP知識(shí)做一些研究與大家共享,首先工欲善其事,必先利其器,可能比喻不是很恰當(dāng),php也需要一系列的環(huán)境配置,以下是我配置php的一些手稿,經(jīng)測(cè)試已成功運(yùn)行了2013-04-04php+redis實(shí)現(xiàn)消息隊(duì)列功能示例
這篇文章主要介紹了php+redis實(shí)現(xiàn)消息隊(duì)列功能,結(jié)合實(shí)例形式分析了php+redis創(chuàng)建與使用消息隊(duì)列的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09詳解PHP實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)
這篇文章主要介紹了PHP實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的具體實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-12-12Laravel?Eloquent取上一條和下一條數(shù)據(jù)的id實(shí)現(xiàn)講解
這篇文章主要為大家介紹了Laravel?Eloquent取上一條和下一條數(shù)據(jù)的id實(shí)現(xiàn)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06