为什么PHP不再抛出"未定义的偏移"通知?

tac*_*one 12 php

我正在运行PHP 5.5并且无法让它再次抛出未定义的偏移通知.

$ php -a
Interactive mode enabled

php > error_reporting(E_ALL);
php > $b = null;
php > var_dump($b['foo']);
NULL
php > $b = "string";
php > var_dump($b['foo']);
PHP Warning:  Illegal string offset 'foo' in php shell code on line 1
string(1) "s"
php > $b = 345678;
php > var_dump($b['foo']);
NULL
Run Code Online (Sandbox Code Playgroud)

我做错了什么或者大多数数据类型都取消了未定义的偏移通知吗?

Jim*_*Jim 2

使用以下命令会在所有 PHP 版本中引发该通知:

$b = array();
var_dump($b['foo']); 
Run Code Online (Sandbox Code Playgroud)

所有其他变体通常不会发出通知:http://3v4l.org/18qM5