如何将php数据转换为json格式?

时间:2016-02-24 05:25:39

标签: php json

这里我使用php代码获取数据。但是我希望将相同的代码转换为json格式。我没有办法做到这一点。 我已经用这种方式试过了。

我的代码

 while ($rows = mysql_fetch_array($filter)) {
        $result['name'] = $rows['name'];
        $result['id'] = $rows['id'];
    }
  $res = json_encode($result);
    print_r($res);

获得结果

{"name":["sradha","nicky","demo","testing"],"id":["1","2","3","4"]}

这里我希望它在json格式下面

  [{id:1, name:'sradha'},
    {id:2, name:'nicky'},
    {id:3, name:'demo'},
    {id:3, name:'testing'}];

请建议我。 任何建议都会非常感激。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

试试这个

$result = array();

while ($rows = mysql_fetch_assoc($filter)) {
    $result[] = $rows;
}

echo json_encode($result);

答案 1 :(得分:2)

尝试以下:

while ($rows = mysql_fetch_assoc($filter)) {
    $result['name'] = $rows['name'];
    $result['id'] = $rows['id'];
    $new_result[] = $result;
}

$res = json_encode($new_result);
print_r($res);

while ($rows = mysql_fetch_assoc($filter)) {
    $result[] = $rows;
}

$res = json_encode($result);
print_r($res);

答案 2 :(得分:0)

像这样创建你的数组

$i=0;
while($rows = mysql_fetch_array($filter)) {
    $result[$i]['name'] = $rows['name'];
    $result[$i]['id'] = $rows['id'];
    $i++;
}
$res = json_encode($result);
print_r($res);

它将返回输出结果