如何在php中生成json数组

时间:2017-11-12 09:47:32

标签: php json

我希望使用do while循环将我的数据从mysql返回到json数组。 当我用json返回一条记录时,它很好。但我希望在一个json数组中返回数组列表。 怎么能用索引来做呢?我的代码有错误,我不知道怎么办。有一个记录很好,但更多不能。

 $json="array(";
  do{
    $json=."'$row_query['id']'=>array('fname'=>$row_query['fname'],'lname'=>$row_query['lname']),";

 } while ($row_query = mysqli_fetch_assoc($query));
 json=.")";
echo json_encode($json,JSON_UNESCAPED_UNICODE);

2 个答案:

答案 0 :(得分:4)

无需添加引号,括号,括号或其他内容。 json_encode函数会为您完成。只需提供数组

$json = [];
while ($row_query = mysqli_fetch_assoc($query)) {
    $json[$row_query['id']] = [
        'fname'=>$row_query['fname'],
        'lname'=>$row_query['lname'],
    ];
}
echo json_encode($json,JSON_UNESCAPED_UNICODE);

答案 1 :(得分:1)

这是最简单的版本。你可以试试这个。

$json = new array();
do{
array_push($json,$row_query);
} while ($row_query = mysqli_fetch_assoc($query));

$json = [];
do{
 $json[] = $row_query;
} while ($row_query = mysqli_fetch_assoc($query));

Atlast编码你的json变量。

$json = json_encode($json);
echo $json;