deprecated是最低级别的谬误,示意“不举荐,不倡议”。比方PHP5中应用的ereg系列的正则匹配函数就会报此类谬误。这种谬误个别因为应用不举荐的、过期的函数或语法造成的。其虽不影响PHP失常流程,但个别状况下倡议修改。
其次是notice。这种谬误个别是语法中存在不当的中央。如应用变量然而未定义就会报此错。最常见的是在数组索引是字符时没有加引号,PHP就视为一个常量,先查找常量表,找不到再视为变量。尽管PHP是脚本语言,语法要求不严,然而依然倡议对变量进行初始化。这种谬误不影响PHP失常流程。
warning是级别比拟高的谬误,在语法中呈现很不失当的状况时才会报此谬误,比方函数参数不匹配。这种级别的谬误会导致得不到预期后果,须要批改代码。
更高级别的谬误是fetal error。这是致命谬误,间接导致PHP过程终结,前面的代码不再执行。这种问题非改不可
高级别的谬误是语法解析谬误prase error。下面提到的谬误都属于PHP代码运行期间谬误,而语法解析谬误属于语法查看阶段谬误,这将导致PHP代码无奈通过语法查看。
这里只是列举了最常见的几个,php手册一共有16个级别的谬误。

$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版本),Fatal 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 "最高级别谬误';//Parse error

下面的代码演示了php常见的几个谬误级别,如果没有输入残缺的话,能够看看php.ini配置文件看看是否如下设置

error_reporting=E_ALL | E_STRICTdisplay_errors=On

其中的error_reporting是指定谬误级别,display_errors就不用说了。