您现在的位置是:群英 > 开发技术 > PHP语言
PHP错误类型有哪一些,分别表示什么意思?
Admin发表于 2022-01-07 18:30:5422 次浏览

    PHP错误类型有哪一些?PHP错误类型我们大致分为warning、notice、deprecated、fetal error这几类,这些错误类型都表示什么意思呢?今天我们就来简单了解看看,感兴趣的朋友就继续往下看吧。

    本教程操作环境: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错误类型有哪些及它们的意思应该都有所了解了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多PHP语言的相关知识,大家可以关注群英网络其它相关文章。

文本转载自PHP中文网

相关信息推荐
2021-12-03 18:11:30 
摘要:这篇文章给大家分享的是PHP的四个框架,包括AkelosPHP、 Fusebox、 PhpOnTrax、PHPDevShell。下文有简单的介绍,对大家了解PHP框架有一定的帮助。感兴趣的朋友接下来一起跟随小编看看吧!
2021-11-02 17:18:10 
摘要:这篇文章给大家分享的是PHP中header函数的内容。小编觉得挺实用的,因此分享给大家做个参考,下文将介绍header函数的作用、用法和应用示例这些,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
2021-12-04 17:47:38 
摘要:这篇文章给大家分享的是python基础知识之函数,类和模块的内容。对新手学习python函数,类和模块及,学习过朋友回顾python基础知识都有一定的帮助,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部