PHP中最低级别的错误类型总结

序言: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个级别的错误。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

$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配置文件看看是否如下设置

?

1

2

error_reporting=E_ALL | E_STRICT

display_errors=On

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

到此这篇关于PHP中最低级别的错误类型总结的文章就介绍到这了,更多相关PHP中最低级别的错误类型有哪些内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.php.cn/php-ask-486924.html

本文链接:https://my.lmcjl.com/post/19571.html

展开阅读全文

4 评论

留下您的评论.