0

我有一个从 MySql 数据库创建并以 json 编码的数组。

$data_array = array();
    while ($row = mysql_fetch_assoc($result)) {
         $data_array[$row['city']] = $row['state']; 
}

 echo json_encode($data_array);

正如预期的那样,它正在输出:

{"DALLAS":"WV","DALLAS CENTER":"IA","DALLAS CITY":"IL","DALLASTOWN":"PA","LAKE DALLAS":"TX"}

我需要 json 数据看起来像这样:

{"DALLAS, WV","DALLAS CENTER, IA","DALLAS CITY, IL","DALLASTOWN, PA","LAKE DALLAS, TX"}

我似乎在 Stack Overflow 上的任何地方都找不到正确的答案,所以如果这是一个重复的问题,我提前道歉。任何帮助是极大的赞赏。

4

3 回答 3

0

而不是这个,作为一个键值对

while ($row = mysql_fetch_assoc($result)) {
  $data_array[$row['city']] = $row['state']; 
}

像这样生成它

while ($row = mysql_fetch_assoc($result)) {
  $data_array[] = $row['city'].",".$row['state']; 
}
于 2012-10-04T03:07:21.907 回答
0

您当前正在使用以下内容来构建您的阵列:

$data_array[$row['city']] = $row['state'];

这将导致 json 为'city': 'state'.

尝试将其更改为您想要的格式:

$data_array[] = $row['city'] . ', ' . $row['state']; 

现在,你应该以你想要的方式拥有 json 'city, state'

于 2012-10-04T03:07:40.660 回答
0

你应该试试

$data_array[] = $row['city'] . "," . $row['state'];

mysql_* 上的 PHP_DOC

不鼓励使用此扩展程序。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

于 2012-10-04T03:16:37.683 回答