新聞中心
本教程操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

專業(yè)領(lǐng)域包括做網(wǎng)站、成都做網(wǎng)站、成都做商城網(wǎng)站、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
序言:php錯(cuò)誤就是會使腳本運(yùn)行不正常的情況。
php的錯(cuò)誤有很多種,包括warning、notice、deprecated、fetal error等。其中notice不叫通知,而叫通知級別的錯(cuò)誤,warning也不叫警告,而叫警告級別的錯(cuò)誤。
錯(cuò)誤大致分為下面幾個(gè)類型。
-
deprecated是最低級別的錯(cuò)誤,表示“不推薦,不建議”。比如PHP5中使用的ereg系列的正則匹配函數(shù)就會報(bào)此類錯(cuò)誤。這種錯(cuò)誤一般由于使用不推薦的、過時(shí)的函數(shù)或語法造成的。其雖不影響PHP正常流程,但一般情況下建議修正。
-
其次是notice。這種錯(cuò)誤一般是語法中存在不當(dāng)?shù)牡胤?。如使用變量但是未定義就會報(bào)此錯(cuò)。最常見的是在數(shù)組索引是字符時(shí)沒有加引號,PHP就視為一個(gè)常量,先查找常量表,找不到再視為變量。雖然PHP是腳本語言,語法要求不嚴(yán),但是仍然建議對變量進(jìn)行初始化。這種錯(cuò)誤不影響PHP正常流程。
-
warning是級別比較高的錯(cuò)誤,在語法中出現(xiàn)很不恰當(dāng)?shù)那闆r時(shí)才會報(bào)此錯(cuò)誤,比如函數(shù)參數(shù)不匹配。這種級別的錯(cuò)誤會導(dǎo)致得不到預(yù)期結(jié)果,需要修改代碼。
-
更高級別的錯(cuò)誤是fetal error。這是致命錯(cuò)誤,直接導(dǎo)致PHP進(jìn)程終結(jié),后面的代碼不再執(zhí)行。這種問題非改不可
-
高級別的錯(cuò)誤是語法解析錯(cuò)誤prase error。上面提到的錯(cuò)誤都屬于PHP代碼運(yùn)行期間錯(cuò)誤,而語法解析錯(cuò)誤屬于語法檢查階段錯(cuò)誤,這將導(dǎo)致PHP代碼無法通過語法檢查。
這里只是列舉了最常見的幾個(gè),php手冊一共有16個(gè)級別的錯(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 "最高級別錯(cuò)誤';
//Parse error
上面的代碼演示了php常見的幾個(gè)錯(cuò)誤級別,如果沒有輸出完整的話,可以看看php.ini配置文件看看是否如下設(shè)置
error_reporting=E_ALL | E_STRICT display_errors=On
其中的error_reporting是指定錯(cuò)誤級別,display_errors就不用說了。
分享題目:PHP中最低級別的錯(cuò)誤類型是什么
分享URL:http://www.5511xx.com/article/ccepiog.html


咨詢
建站咨詢
