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

PHP会出现这样提示

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

Trying to access array offset on value of type null

黄威
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10

其他版本一样会出错吧

4年前 评论
xianyunyehe

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

4年前 评论
wangchunbo

数组超限

4年前 评论

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

4年前 评论
黑将军

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

4年前 评论

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

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

4年前 评论

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

4年前 评论

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

4年前 评论

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

2年前 评论

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

file

2年前 评论

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