如何在php中创建一个带有几个数组的json

时间:2017-03-17 07:28:06

标签: php json

我的数据库表中有几个区域,我想创建一个包含每个区域数组的JSON。像这样的东西:

Mutex<i32>

我该怎么做?感谢

这是我的PHP代码:

var regions = {
    "region1": [
        { "lat": -1.325416, "lng": 36.669051 },
        { "lat": -1.244058, "lng": 36.730391 },
        { "lat": -1.392932, "lng": 36.768752 }
    ],
    "region2": [
        { "lat": -1.244058, "lng": 36.730391 },
        { "lat": -1.392932, "lng": 36.768752 },
        { "lat": -1.169516, "lng": 36.895608 }

    ],
    "region3": [
        { "lat": -1.392932, "lng": 36.768752 },
        { "lat": -1.169516, "lng": 36.895608 },
        { "lat": -1.390505, "lng": 36.810023 }
    ]
}

它为所有地区提供了一个json。

1 个答案:

答案 0 :(得分:0)

可以做这样的事情:

首先,获取所有地区。

然后,对于您拥有的每个地区,获取剩余数据。

$finalResult = array();
foreach ($regions as $region) {
    $sql = "SELECT lat, lon FROM regions WHERE regionid = $region['regionid'];";
    $res = mysqli_query($conn,$sql);

    $result = array();

    while($row = mysqli_fetch_array($res)){
        array_push($result, array(
            'lat' => " ".$row[0],
            'lng' => " ".$row[1],
        ));
    }
    array_push($finalResult, array(
        $region['regionName'] => $result,
    ));
}

echo json_encode($finalResult, JSON_NUMERIC_CHECK);