Php 将两个数据库列合并为一个数组值
我有一个从MySql数据库创建并用json编码的数组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
$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_*注释的备选方案添加其他信息?