null变量的键等于null而不是错误

Jon*_*han 10 php

我们有变量,由于某种原因我们认为是一个数组,但它恰好是null.

$var = null

我们试图从这个变量中获取一个值.

$value = $var['key']

这不会引发错误,我的直觉是它会.相反的是,$ value现在也是null.是否有一个特殊的原因,上述行不会抛出错误?

And*_*uba 9

"几乎重复":为什么在布尔值上访问数组索引不会引发任何类型的错误?

那里的代码看起来像:

$var = false;
$value = $var['key'];
Run Code Online (Sandbox Code Playgroud)

答案是 - 它只是文件

使用[]或{}以静默方式访问其他类型的变量(不包括实现适当接口的数组或对象)将返回NULL.

所以在这个字符串中(我说的是你的情况,$ var = null,但是使用boolean将是相同的解释,只需将NULL替换为boolean)

$var['key']
Run Code Online (Sandbox Code Playgroud)

$ var是NULL类型的变量,并且使用[]静默地访问NULL类型的变量(数组或对象的其他类型)返回NULL.