【发布时间】:2013-12-15 18:35:35
【问题描述】:
我有这段代码:
$object = new StdClass();
$object->{'1'} = 'test_1';
$object->a = 'test_a';
$array = (array) $object;
var_dump($array) 工作正常,返回
array (size=2)
'1' => string 'test_1' (length=6)
'a' => string 'test_a' (length=6)
然而,
var_dump($array[1]); //returns null
var_dump($array['1']); //returns null
var_dump($array["1"]); //returns null
有人可以解释这种行为吗? 为什么我无法访问我可以看到存在的属性?
【问题讨论】:
-
看看这个答案和cmets:stackoverflow.com/a/4345609/722135
-
你能解释一下 inaccessible 代表什么吗?由于
var_dump显示它,foreach也显示它! -
这是一个 PHP 的“特性”(也就是 bug)。