为什么在PHP中作为数组访问空值不会生成警告?

时间:2014-05-07 10:55:23

标签: php sql arrays php-internals

我遇到了一个错误,其中返回的DB结果应该是一个数组但是由于SQL查询中的一个小故障,在一个实例中,DB包装器正确返回null。不幸的是,代码没想到(= bug)。

然而,当我将null值作为数组访问时,我很惊讶地看到PHP没有发出警告。有没有人知道它是按照设计还是有一个我不知道的解释?

显示我的意思的示例:

$ php -a
Interactive shell

> echo phpversion() . PHP_EOL;
5.4.26

php > echo $test['value'];
PHP Notice:  Undefined variable: test in php shell code on line 1

php > $test = 'string';
php > echo $test['value'];
PHP Warning:  Illegal string offset 'value' in php shell code on line 1

php > $test = null;
php > echo $test['value'];

我希望最后一个语句能够生成警告。

0 个答案:

没有答案