Associative array for json

I would like to be able to generate json output in the following format:

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

Although I found that the corresponding code is this:

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

I am trying to generate this output using data from an SQL query. I tried array_push () and array_merge (), and the closest I managed to get is the following:

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

Any ideas?

+5
source share
2 answers

First you must query all the data from the table and then transfer it to an array, then use the function json_encode($array).

Put your array inside the parameters.

Then the output will be in json form.

$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);
+13
source

Load the data you want to encode into an array, then use json_encode () .

json_encode($arr);
+2
source

All Articles