我想解析从SmartyStreets(它是一个地址验证公司)返回的这些数据。PHP:如何解析stdClass对象?
下面是一个例子:
Array
(
[0] => stdClass Object
(
[input_index] => 0
[candidate_index] => 0
[delivery_line_1] => 3785 Las Vegas Blvd S
[last_line] => Las Vegas NV 89109-4333
[delivery_point_barcode] => 891094333992
[components] => stdClass Object
(
[primary_number] => 3785
[street_name] => Las Vegas
[street_postdirection] => S
[street_suffix] => Blvd
[city_name] => Las Vegas
[state_abbreviation] => NV
[zipcode] => 89109
[plus4_code] => 4333
[delivery_point] => 99
[delivery_point_check_digit] => 2
)
[metadata] => stdClass Object
(
[record_type] => H
[county_fips] => 32003
[county_name] => Clark
[carrier_route] => C024
[congressional_district] => 01
[building_default_indicator] => Y
[rdi] => Commercial
[latitude] => 36.10357
[longitude] => -115.17295
[precision] => Zip9
)
[analysis] => stdClass Object
(
[dpv_match_code] => D
[dpv_footnotes] => AAN1
[dpv_cmra] => N
[dpv_vacant] => N
[active] => Y
[footnotes] => B#H#L#M#
)
)
)
我是新来的工作对象,所以我很难理解它是如何工作。从上面的print_r $结果输出中,我试图访问[delivery_line1],[city_name],[state_abbreviation],[zipcode]和[plus4_code]。
如何在PHP中访问此树?
我已经试过这样:
echo $result["delivery_line_1"];
但是,让 “未定义指数:delivery_line_1”。
echo $result->delivery_line_1;
但是,这给出了“试图获得非对象的属性”。
我错过了什么?谢谢!
好的,这是一个*字符串*你正试图*解析*,或者这是一个*数组*,你正试图提取一个属性? – Ryan 2013-05-05 00:14:36
这不是“解析”。这称为“遍历”或简单地访问变量。 – mario 2013-05-05 00:18:18
如果你不喜欢乱用对象,你可以一直调用json_decode(json_encode($ arr),TRUE),并且有一个很好的关联数组,并且花费2个额外的调用。 – 2013-05-05 00:31:32