PHP中最低级别的错误类型是“deprecated”,表示“不推荐,不建议”。这种错误一般是由于使用不推荐的、过时的函数或语法造成的;其虽不影响PHP正常流程,但一般情况下建议修正。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
序言:php错误就是会使脚本运行不正常的情况。
php的错误有很多种,包括warning、notice、deprecated、fetal error等。其中notice不叫通知,而叫通知级别的错误,warning也不叫警告,而叫警告级别的错误。
错误大致分为下面几个类型。
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_STRICT display_errors=On
其中的error_reporting
是指定错误级别,display_errors
就不用说了。
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。