小编ila*_*pov的帖子

如果array为NULL,则不为"Undefined offset"

我不确定这是一个错误,所以任何人都可以告诉为什么如果你试图访问一个没有定义为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

5
推荐指数
1
解决办法
816
查看次数

标签 统计

php ×1