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


猜你喜欢
- 在pycharm中,当调用( import / from … import… )其他文件夹下的函数或模块,会发现编辑器无法识别( can n
- numpy.reshape(重塑)给数组一个新的形状而不改变其数据numpy.reshape(a, newshape, order='
- Debian Etch Linux上成功安装了MySQL 5.0.27 icc版本,并使用JDBC测试中文成功!中文问题的关键是全部使用UT
- 损失函数loss:该参数为模型试图最小化的目标函数,它可为预定义的损失函数名,如categorical_crossentropy、mse,也
- 又一年过去了,JavaScript发生了许多变化。但是,即使是2019年了,还是需要给一些帮助你编写干净、整洁、有效、且具有扩展性的代码建议
- 并行发送sh命令pbsh.py#!/usr/bin/python# -*- coding: UTF-8 -*-import paramiko
- 在最开始的时候所有的斐波那契代码都是使用递归的方式来写的,递归有很多的缺点,执行效率低下,浪费资源,还有可能会造成栈溢出,而递归的程序的优点
- python基础pandas的drop()用法做数据处理得时候用到了pandas,体验不错,记录如下:import pandas as pd
- 前言最近组长安排着做一个项目,h5的应用下载项目,想着做起来还是比较容易,可是看到提出的需求,我就有点懵逼了!需要对应用的下载进行统计!!!
- Scipy高级科学计算库:和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算、统计分析,所以可以说是基于Numpy之
- 起步在django框架中,用的是 pytz 库处理时区问题,所以我也尝试用这个库来处理。但发现了一个奇怪的问题:import datetim
- 先来看个例子:#-*- coding:utf8 -*-s = u'中文截取's.decode('utf8')
- 当很多人发现在DW4中定义CSS很方便的时候,开始报怨FP2000不能定义CSS,甚至就此抨击FP2000如何的不好。事实上,在FP2000
- 目录1、字典的定义字典和列表的区别:字典的基本使用2、循环遍历3、字符串的定义4、字符串的常用操作字符串 查找和替换字符串 文本对齐演练去除
- 我们需要开始思考如何将文本集合转化为可量化的东西。最简单的方法是考虑词频。我将尽量尝试不使用NLTK和Scikits-Learn包。我们首先
- python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。下面是一个利用smtplib,实现QQ邮箱
- 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容
- easy_install 和 pip的介绍:easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包
- 最近写一个和二维列表有关的算法时候发现的当用max求二维列表中最大值时,输出的结果是子列表首元素最大的那个列表测试如下c=[[1,2,-1]
- 举例: 340%60 = 40 ,怎么来的?340 - 60*5 = 40340 - (比340小的那个可以被60整除的正整数) =. 40