-->

Associative array to Json [closed]

2020-07-10 03:58发布

问题:

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 8 years ago.

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

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

Although I have found that the respective code is this:

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

, I'm struggling to generate this output by using data from an sql query. I have tried array_push() and array_merge() and the closest I have managed to get is this:

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

Any ideas?

回答1:

First you should query all your data from table and then move it to an array, after this,use json_encode($array) function.

Place your array inside the parameters.

Then output will bee 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);


回答2:

Load the data you want encoded into an array then use json_encode().

json_encode($arr);