需要适当的json响应

时间:2016-03-12 10:35:55

标签: php json cycle

我需要在不同的数组中使用json响应,但是在代码下面不能给出所有结果。

while ($row=mysqli_fetch_assoc($result))
{
    //$data[]=$row;
    $data['id']=$row['id'];
    $data['name']=$row['name'];
    $data['Latitude']=$row['Latitude'];
    $data['Longitude']=$row['Latitude'];

    $lat_user=$row['Latitude'];
    $long_user=$row['Longitude'];
    $res=file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json".
        "?units=imperial&origins=$lat,$long&destinations=$latuser,$longuser");

    $json_res=json_decode($res);
    $data['time']=$json_res->{'rows'}{0}->{'elements'}{0}->{'duration'}->{'text'};

}
echo json_encode($data,true);

1 个答案:

答案 0 :(得分:0)

您需要将项目保存到某个数组中,例如在每次迭代结束时$dataArray,并在循环后使用此数组创建json

$dataArray = array();
while ($row=mysqli_fetch_assoc($result))
{
    //$data[]=$row;
    $data['id']=$row['id'];
    $data['name']=$row['name'];
    $data['Latitude']=$row['Latitude'];
    $data['Longitude']=$row['Latitude'];

    $lat_user=$row['Latitude'];
    $long_user=$row['Longitude'];
    $res=file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json".
        "?units=imperial&origins=$lat,$long&destinations=$latuser,$longuser");

    $json_res=json_decode($res);
    $data['time']=$json_res->{'rows'}{0}->{'elements'}{0}->{'duration'}->{'text'};
    $dataArray[] = $data;

}
echo json_encode($dataArray,true);