前言

今天写某个监控的时候遇到了一个问题,写好的代码在本地运行不会出现 Warning: Undefined array key "data" in,但是在服务器上运行的时候就出现,经过检查发现服务器的PHP版本是8.0,而我本地的是7.3,所以在服务器上运行的时候就报了个警告

解决问题

出现这个问题的原因主要就是在PHP8.0之后对于语法这一块就相对更加严格了

然后我的代码是

$data["data"]

因为是直接去获取这个值,但是在没有这个值的情况下他就属于一个未定义的key值,所以这个key未定义的情况下,就会报警告,虽然不影响运行,但是我不喜欢

那么最简单的解决办法就是使用 isset() 函数

isset():检测变量是否已声明并且其值不为 null

使用这个函数呢,在我的变量未定义或者为 null的情况下就会返回false,反之则返回true

还有一种方法就是屏蔽掉报错信息,但是这种方法是极其不推荐的,所以不介绍

结束

希望各位同学在调试的时候一定要检查好环境是否一致,要不然可能会把很多时间花在找问题上面!

最后修改:2022 年 06 月 23 日
如果觉得我的文章对你有用,请随意赞赏