2014-06-13 152 views
0

我想从一个数组如何从数组中检索对象?

我试图用,但没有得到

$api_response_decode['data']->stdClass->sales->stdClass 

这里检索对象的元素是我的数组

[data] => stdClass Object 
    (
     [sales] => stdClass Object 
      (
       [clothing] => 2 
       [men] => 0 
       [children] => 4 
      ) 

    ) 

我想

[clothing] 
[men] 
[children] 
+0

'stdClass'是对象类型,而不是属性名称.... – user193130

回答

2

您的示例中不需要stdClass

为了使这个对象:

$api_response_decode['data'] 

要获得销售对象:

$api_response_decode['data']->sales 

得到的,比如说服装:

$api_response_decode['data']->sales->clothing 
+0

仍然得到ANNOT使用对象类型为stdClass的数组为:( – user2046638

+0

@ user2046638如果$ api_response_decode是一个对象,您也必须将它看作一个:'$ api_response_decode-> data' – Jim

1

为$ api_response_decode对象或数组?你最近怎么样?

但是,您可以使用get_object_vars检索销售项目。

$items=get_object_vars($api_response_decode->data->sales); 
var_dump($items); 

打印

array(3) { 
    ["clothing"]=> int(2) 
    ["men"]=> int(0) 
    ["children"]=> int(4) 
} 

编辑:看来$api_response_decode是一个对象,所以我相应的修改。

1

stdClass是一个类型,而不是一个值。

$api_response_decode['data']->sales->clothing 

这个主题可以给你什么stdClass的是更多的信息如何使用它:What is stdClass in PHP?

+0

仍然不能使用stdClass类型的对象作为数组:( – user2046638

+0

Give $ api_response_decode的var_dump()也许数据也是一个对象而不是数组。 – djidi