Php 将两个数据库列合并为一个数组值

Php 将两个数据库列合并为一个数组值,php,arrays,Php,Arrays,我有一个从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

我有一个从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"}

我似乎在堆栈溢出的任何地方都找不到正确的答案,所以如果这是一个重复的问题,我提前道歉。非常感谢您的帮助。

作为键值对,请不要这样做

while ($row = mysql_fetch_assoc($result)) {
  $data_array[$row['city']] = $row['state']; 
}
像这样生成它

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

您当前正在使用以下方法构建阵列:

$data_array[$row['city']] = $row['state'];
这将导致json成为
“城市”:“州”

请尝试将其更改为所需的格式:

$data_array[] = $row['city'] . ', ' . $row['state']; 
现在,您应该以您想要的方式使用json,使用
'city,state'

您应该试试

$data_array[] = $row['city'] . "," . $row['state'];
mysql上的PHP_文档_*

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


您是否打算为mysql_*注释的备选方案添加其他信息?