关联数组到Json

时间:2012-06-05 00:23:55

标签: php json array-push

我希望能够以下列格式生成json输出:

{"a":{"ax":1,"abx":2},"b":{"bax":1,"bbx":2},"c":3,"d":4,"e":5}

虽然我发现相应的代码是这样的:

$arr = array('a' => array('ax' => 1, 'abx' => 2), 'b' => array('bax' => 1, 'bbx' => 2), 'c' => 3, 'd' => 4, 'e' => 5);

,我很难通过使用sql查询中的数据来生成此输出。我已经尝试过array_push()和array_merge(),而我设法得到的最接近的是:

[{"a":{"ax":1,"abx":2}},{"b":{"bax":1,"bbx":2}}, ....]

有什么想法吗?

2 个答案:

答案 0 :(得分:15)

首先,您应该从表中查询所有数据,然后将其移动到数组中,然后使用json_encode($array)函数。

将数组放在参数中。

然后输出将以json形式出现。

$query="select *  from employees";
$result=mysql_query($query);
while($row=mysql_fetch_array($result))
{
  $employee=$row['employee']; 
  $country=$row['country'];

  $employees[] = array('employee'=> $employee,'country'=> $country);
}

echo $jsonformat=json_encode($employees);

答案 1 :(得分:2)

将您想要编码的数据加载到数组中,然后使用json_encode()

json_encode($arr);