【发布时间】:2016-07-18 15:36:19
【问题描述】:
我有一个 json 解码,看起来像:
[Guadeloupe] => stdClass Object
(
[579650] => stdClass Object
(
[name] => Carat
[postal_code] => 97139
[lat] => 16,275890246307
[lng] => -61,511925458908
[url] => 579650-carat
[pos_type_has_page] => t
)
[579651] => stdClass Object
(
[name] => Carat
[postal_code] => 97139
[lat] => 16,275890246307
[lng] => -61,511925458908
[url] => 579650-carat
[pos_type_has_page] => t
)
[579655] => stdClass Object
(
[name] => Carat
[postal_code] => 97139
[lat] => 16,275890246307
[lng] => -61,511925458908
[url] => 579650-carat
[pos_type_has_page] => t
)
)
[Martinique] => stdClass Object
(
[154161] => stdClass Object
(
[name] => Grain D'Or
[postal_code] => 97232
[lat] => 14,619419176343
[lng] => -61,020416975021
[url] => 154161-grain-dor-
[pos_type_has_page] => t
)
)
[Guyane française] => stdClass Object
(
[154146] => stdClass Object
(
[name] => Bijouterie Buirette
[postal_code] => 97300
[lat] => 4,935763
[lng] => -52,333749
[url] => 154146-bijouterie-buirette
[pos_type_has_page] => t
)
)
实际上我不知道如何正确地从中获取值,而不使用许多循环 foreach($key => $value),我想获取这些数据:
$country、$name、$lat、$lng 并将它们存储在数组中。
$store = array(
'country'=>$country,
'name'=>$name,
'lat'=>$lat,
'lng '=>$lng ,
)
这是我当前的代码:
foreach($content as $store) {
$store = (array) $store;
foreach($store as $key => $value) {
$country = $key;
$value = (array) $value;
foreach($value as $key1 => $data) {
$title = $data->name;
$coordlat = $data->lat;
$coordlng = $data->lng;
$store_data = array(
'name'=>$title,
'latitude'=>$coordlat,
'longitude'=>$coordlng,
'original_country'=>$country,
);
}
}
}
感谢您的帮助
【问题讨论】:
-
您的前 2 个 foreach 循环就足够了,只需使用
$value->name等等。此外,您不需要将对象转换为数组。 -
国家可能有很多商店,我编辑了我的第一条消息,所以 $value->name 我认为它不起作用
-
它应该仍然可以工作。