我遇到了一个错误,其中返回的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'];
我希望最后一个语句能够生成警告。