从API访问数组元素

时间:2011-05-10 23:57:52

标签: php arrays api

对于我的生活,我无法弄清楚如何访问这个数组的值。每个示例stdClass对象都有某种类型的值。如果我尝试例如$obj->0->0->city;,我会收到错误。

有人可以告诉我如何访问[city] => toronto甚至[date_created] => 2011-05-03 14:33:58的示例吗?

我也试过这个没有运气。

$object = $buy[1]; 
$title = $object->title[0];
echo "$title";

由于

这就是api给我的。

stdClass Object
(
    [id] => 1
    [name] => toronto
    [date_modified] => 2011-03-08 13:07:10
    [tax_rate_provincial] => 
)
<br/> 
Array
(
    [0] => stdClass Object
        (
            [0] => stdClass Object
                (
                    [id] => 28131844
                    [full_date] => 20110506
                    [end_date] => 20110511
                    [city] => toronto
                    [saved] => 1651
                    [discount_percentage] => 52
                    [deal_option] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [id] => 2600
                                    [title] => 
                                    [date_modified] => 0000-00-00 00:00:00
                                    [date_created] => 2011-05-03 14:33:58
                                    [value] => 3150
                                    [price] => 1499
                                    [deal_id] => 28131844
                                    [is_default] => 0
                                )

                        )

                    [options] => 
                    [option_quantity] => 
                    [option_remaining] => 
                    [purchase_limit] => 1
                    [gift_limit] => 0

1 个答案:

答案 0 :(得分:2)

有一种特殊的邪恶语法来绕过数字对象属性:

 print $obj->{'0'}->{'0'}->city;

是正确的语法,等同于您已经确定的路径。

你的第二个例子是一个数组,所以它可能是:

 print $array[0]->{'0'}->city;

替代方案总是只在foreach超过特定级别 - 同样适用于对象和数组。