【发布时间】:2013-03-23 03:24:51
【问题描述】:
让我解释一下我的问题,我应该在显示联系表单之前调用一个网络服务,网络服务的返回是:
$items = json_decode('[{"location":[{"building":["Building1"],"name":"Location1"}],"name":"Organization1"},{"location":[{"building":["Building2"],"name":"location2"}],"name":"Organisation2"},{"location":[{"building":["Building3"],"name":"Location3"}],"name":"Organization3"}]');
在这里,我使用以下代码仅提取了组织、位置和建筑物:
foreach( $items as $each ){
echo $each->location[0]->building[0];
echo $each->location[0]->name;
echo $each->name;
}
我想以这种格式获取不同数组中的组织、建筑物和位置的值:
("building1", "building2", "building3")
("organisation1", "organisation2", "organisation3")
("location1", "location2", "location3")
【问题讨论】:
-
那么你是做什么的一个组织有多个位置?我问是因为为 JSON 选择的格式特别允许每个组织有多个位置。或者您不打算在数字键上交叉引用?
-
嗯,我真的很想做这样的事情,你已经读懂了我的想法,你有什么想法吗
-
@user2201395:当您可以将它们作为返回的每个项目的单个结构访问时,为什么要从分离的数组中访问它们?那没有任何意义。如果您只想将它们作为数组访问,那么您最好将 JSON 转换为像
$items = json_decode($theJsonString, true)这样的数组,然后您可以像$items[0]['location'][0]['name']那样访问
标签: php arrays json forms decode