获取嵌套数组

时间:2015-09-18 06:43:31

标签: php arrays multidimensional-array

我知道这可能会被问过很多次。但在我的情况下,我通过使用此

得到此错误
echo $result["tracks"]["title"];
  

致命错误:无法在第26行的C:\ wamp \ www \ withheader.php中使用stdClass类型的对象

并使用print_r ($result);我得到以下结果

我想获得数组音轨和元素标题的结果。理想情况下,输出应该是值为DHL (Deprecated)

的变量
stdClass Object ( [increment_id] => 100000045 [store_id] => 1 [created_at] => 2015-09-07 07:34:06 [updated_at] => 2015-09-18 06:02:02 [shipping_address_id] => 441 [order_id] => 224 [total_qty] => 2.0000 [shipment_id] => 48 [items] => Array ( [0] => stdClass Object ( [parent_id] => 48 [sku] => testsimpleadmin [name] => testsimpleadmin [order_item_id] => 642 [product_id] => 57050 [weight] => 2.0000 [price] => 100.0000 [qty] => 1.0000 [item_id] => 96 ) [1] => stdClass Object ( [parent_id] => 48 [sku] => 12121221 [name] => women fancy bag [order_item_id] => 643 [product_id] => 57090 [weight] => 1.0000 [price] => 71.0000 [qty] => 1.0000 [item_id] => 97 ) ) [tracks] => Array ( [0] => stdClass Object ( [parent_id] => 48 [created_at] => 2015-09-18 06:02:02 [updated_at] => 2015-09-18 06:02:02 [carrier_code] => dhl [title] => DHL (Deprecated) [number] => 456 [order_id] => 224 [track_id] => 5 ) ) [comments] => Array ( ) ) 

2 个答案:

答案 0 :(得分:1)

您的问题是$result不是数组而是Object

因此,您必须像使用$result的常规对象一样访问->。 从print_r我们可以看到属性tracks是一个只包含一个元素的数组。因此,$result->tracks[0]->title应该工作

答案 1 :(得分:1)

从您的print_r($result) object而不是array可以看出。所以不要把它称为

echo $result["tracks"]["title"];

你需要使用

echo $result->tracks[0]->title