我不确定这是一个错误,所以任何人都可以告诉为什么如果你试图访问一个没有定义为NULL的数组的密钥,php不显示通知?文档说
Converting NULL to an array results in an empty array.
Run Code Online (Sandbox Code Playgroud)
因此,访问未定义的密钥必须生成通知.
<?php
$a = NULL;
echo $a['1'];
$a = array();
echo $a['1'];
?>
Run Code Online (Sandbox Code Playgroud)
打印出来
Notice: Undefined offset: 1 in /var/www/shared/1.php on line 14
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
编辑:我冒昧地在问题中添加另一个示例脚本
<?php
$a = NULL;
var_dump('line '.__LINE__, $a['1']);
$a = array();
var_dump('line '.__LINE__, $a['1']);
Run Code Online (Sandbox Code Playgroud)
打印
string(6) "line 3"
NULL
Notice: Undefined offset: 1 in [...]/test.php on line 6
string(6) "line 6"
NULL
Run Code Online (Sandbox Code Playgroud) php ×1