冷筱宇的小窝-生活中的点滴

PHP8.0出现Undefined array key “xx“

前言

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

解决问题

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

然后我的代码是

$data["data"]

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

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

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

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

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

结束

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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »