PHP7.4 当数组索引不存在时会出错

PHP会出现这样提示

['realname' => $user['realname']]

Trying to access array offset on value of type null

黄威
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 10

其他版本一样会出错吧

5年前 评论
xianyunyehe

应该是个notice。 你可以用?? 来判断下

5年前 评论
wangchunbo

数组超限

5年前 评论

waring 吧,7.4 好像移除了大部分 notic

5年前 评论
黑将军

其他版本也一样,laravel的报错设置是 error_reporting(-1),所以都报出来了

5年前 评论

首先你这个错误是说,在 null 上进行索引操作,,,我本以为理所当然的会报错,,,

结果用 php7.3 试了下,,,不报错,,,null['key'],,,,

5年前 评论

放个图给大家直观演示一下 :joy:
file

5年前 评论

编辑和添加一个页面, 添加操作页面直接把信息数组赋值为空,这样使用 null 作为数组 php 会静默跳过,不会报错.
7.4 不行了,要进行严格判断.

5年前 评论

赋值为空,没有二元运算的话,有没其他方案忽略掉这个报错呢?

4年前 评论

我也遇到同样的问题,把 error_reporting(E_ERROR); 添加到 app/Providers/AppServiceProvider.php boot 方法里面便可。

file

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!