越来越对象变量的时候,我只是想了解为什么最后两个print_r()
调用下面不工作,并引发以下错误Undefined property: stdClass::$0
问题。根据PHP文档,我应该能够访问使用下面的操作$object->{'x'}
对象数值属性(x是数字索引我要访问)。PHP - 阵列反对 - 由指数
谢谢。
$array = (object)array(
0 => 'test1',
1 => 'test2',
2 => 'test3',
'test' => (object)array(
0 => 'hi1',
1 => 'hi2',
2 => 'hi3'
)
);
print_r($array);
print_r($array->test);
print_r($array->test->{'0'});
print_r($array->{'0'});
die();
值得一提的是,变量或属性名称不能以数字开头,所以stdClass :: $ 0无论如何都不会有效 – 2013-03-08 22:10:27
您能否提供一个指向PHP文档的部分的链接,告诉您这会起作用? – Barmar 2013-03-08 22:13:07
有趣。它使用花括号表示来设置:'$ array - > {0} ='test1';的print_r($阵列 - > {0});' – MichaelRushton 2013-03-08 22:19:02