PHP中最低级别的错误类型总结
作者:青灯夜游 发布时间:2023-09-04 16:46:17
序言: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就不用说了。
来源:https://www.php.cn/php-ask-486924.html
猜你喜欢
- 使用ASP处理XSLT转换XML比较简单,思路如下:创建一个XSLTemplate的对象,再创建一个XMLDOM对象,然后在家Xml文件和X
- 可怜我的C盘本来只有8.XG,所以不得不卸载掉它。卸载掉本身没啥问题,只是昨晚突然发现 Sql Server 2008 R2 Managem
- phpMyAdmin可以管理整个MySQL服务器(需要超级用户),也可以管理单个数据库。为了实现后一种,你将需要合理设置MySQL用户,他只
- 本文实例讲述了PHP递归调用数组值并用其执行指定函数的方法。分享给大家供大家参考。具体分析如下:以下为wordpress原代码,为了偷懒,简
- python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。with open('
- 平时我们获取事件对象一般写法如下:function getEvent(event) { return e
- <script language="vbscript" runat="s
- 1. 简介本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的
- 用JDBC实现对MySQL的“增删改查”:import java.sql.Connection;im
- Security vulnerability in MySQL/MariaDB 在知道用户名的情况下(如root),直接反复重试(平均大约2
- 之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查
- 我们平常用 IE 打开一个普通的本地 xml 文件,其形式通常都是如下图: 默认样式看得多了就不觉得有什么特别。但对于少接触 xml 的人来
- 矛盾出来了,像我们这些小作坊,基本都是设计布局一人搞定。甚至还有加后台程序的。假设设计的时候考虑布局了,我们都有这个能力进行调整。但像大公司
- PHP echo() 函数实例输出一些文本:<?php echo "Hello world!"; ?>定义和
- 创建小程序全局函数1:在微信开发工具中增加一个JS文档, 放入全局全局函数代码说明1:全局函数只能放var定义的变量下,本例的var 变量为
- a1="sp2=20;sp1=34;" a2="sp3=2;sp2=3;sp1=4;" 两组字符串数
- 目标是想把在服务器上用pytorch训练好的模型转换为可以在移动端运行的tflite模型。最直接的思路是想把pytorch模型转换为tens
- 代码如下:'******************************************** '函数名:I
- 函数很简单, 主要是针对字符串和数字两种类型的传入数据分别进行了处理,具体用法:字符类型的strUsername = C
- 当然,页面最好不要刷新,但是,拷贝一下浏览器的链接,又希望是下次能定位到你播发的那个视频。方法很简单,改变一下 url 的 fragment