我有一个数组,我从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上的任何地方找到正确答案,所以如果这是一个重复的问题我会提前道歉。非常感谢任何帮助。
答案 0 :(得分: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'];
}
答案 1 :(得分:0)
您目前正在使用以下内容构建阵列:
$data_array[$row['city']] = $row['state'];
这将导致json为'city': 'state'
。
尝试将其更改为您想要的格式:
$data_array[] = $row['city'] . ', ' . $row['state'];
现在,您应该按照'city, state'
的方式使用json。
答案 2 :(得分:0)
你应该试试
$data_array[] = $row['city'] . "," . $row['state'];
mysql _ *
上的PHP_DOC不鼓励使用此扩展程序。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括: