我有一个简单的答案,我就是无法解决:
var_dump(obj)=
object(stdClass)#15 (3) {
["properties"]=>
object(stdClass)#14 (2) {
["user_name"]=>
string(4) "somename"
["email_address"]=>
string(12) "test@test.com"
["arrays"]=>
object(stdClass)#17 (1) {
["sites[]"]=>
object(stdClass)#18 (4) {
["0"]=>
int(1)
["1"]=>
int(1)
["2"]=>
int(0)
["3"]=>
int(0)
}
}
}
如何在我的"obj"中调用"sites[]"对象?
我尝试了以下方法:
obj->sites[]
obj->{'sites[]'}
两个选项都不起作用。。。
清理生成该对象的代码可能更好,但您应该能够通过:访问sites[]
对象
$sites = $obj->arrays->{'sites[]'};
然而,$sites
仍然是一个对象,因此您需要以类似的尴尬方式访问其元素:
echo $sites->{'0'};
$sites = (array) $obj->arrays->{'sites[]'};
echo $sites[0];
EDIT,不能访问由数字字符串索引的数组元素。
一个更好的选择(正如我刚刚发布的一个SO问题所发现的那样)是使用get_object_vars
:
$sites = get_object_vars($obj->arrays->{'sites[]'});
然后您可以作为数组访问:
echo $sites[0];