我从API调用了JSON数组,并使用json_decode将它们分配给PHP变量。
该数组如下所示:
[
{
"id": "1",
"abbr": "XXX",
"title": "YYY",
"visible_from_lat": "85",
"visible_to_lat": "-75",
},
{
"id": "2",
"abbr": "AAA",
"title": "BBB",
"visible_from_lat": "85",
"visible_to_lat": "-75",
}
]
该数组总共有大约50个项目,所有项目都有一个visible_from_lat
和一个visible_to_lat
。我需要做的是将每个项目分组,如下所示:
visible_from_lat > 0
然后分配给变量1
visible_from_lat < 0
然后分配给变量2
有什么主意吗?
答案 0 :(得分:0)
这里有一个基本的解决方案,假设在data.json
文件中有您的json数据:
<?php
$array = json_decode(file_get_contents("data.json"));
$resulSetPositive = [];
$resulSetNegative = [];
foreach ($array as $obj) {
if(isset($obj->visible_from_lat)) {
if($obj->visible_from_lat > 0) {
$resulSetPositive[] = $obj; // add obj to positive result set
}
else if($obj->visible_from_lat < 0) {
$resulSetNegative[] = $obj; // add obj to negative result set
}
}
}
file_put_contents("negative.json", json_encode($resulSetNegative, JSON_PRETTY_PRINT));
file_put_contents("positive.json", json_encode($resulSetPositive, JSON_PRETTY_PRINT));