【发布时间】:2011-03-31 01:50:26
【问题描述】:
我目前正在使用 JSON 编码的数组来显示我的数据库中的用户,以实现自动建议功能。
看起来像这样:
$sth = mysql_query("SELECT id, name FROM users");
$json = array();
while($row = mysql_fetch_assoc($sth)) {
$json['name'] = $row['name'];
$json['id'] = $row['id'];
$data[] = $json;
}
print json_encode($data);
这会返回:
[{"id":"81","name":"John Doe"},{"id":"82","name":"Jane Doe"}]
我的问题有点二:
首先,我如何手动添加一个额外的对象到这个输出?例如,假设我想添加:{"id":"444","name":"A New Name"}
因此,它看起来像:
[{"id":"81","name":"John Doe"},{"id":"82","name":"Jane Doe"},{"id":"444","name":"A New Name"}]
其次,假设我还想从单独的表中向数组中添加更多对象,例如:
$sth = mysql_query("SELECT id, title FROM another_table");
$json = array();
while($row = mysql_fetch_assoc($sth)) {
$json['name'] = $row['title'];
$json['id'] = $row['id'];
$data[] = $json;
}
print json_encode($data);
这样我可以在 JSON 数组中填充两个表,因此,在我的自动建议中显示为附加选项。
希望这是有道理的,因为我已经努力表达我想要完成的目标。
谢谢!
【问题讨论】:
-
为什么不在 json_encode 之前将它们添加到数组中呢?这对我来说更有意义。
标签: php javascript arrays json