我想用PHP从我的MySQL结果创建一个JSON对象,所以我可以将它传递给JavaScript。我不太了解JSON数组和JSON对象之间的区别。
我就是这样做的。但有更好的方法吗?这是我相信的阵列方式吗?
$json = array();
while($r=mysql_fetch_array($res)){
$json['firstname'] = $r['firstname'];
$json['lastname'] = $r['lastname'];
}
echo json_encode($json);
我希望能够从JavaScript获取信息,只选择所有名字如果我愿意等等。
答案 0 :(得分:10)
你可以尝试这个,获取数据并推送到数组,然后回显那个数组
$info=array();
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
array_push($info,$row);
}
echo json_encode($info);
将返回
array(2) { [0]=> array(3) { ["id"]=> string(1) "1" ["firstname"]=> string(3) "foo" ["lastname"]=> string(3) "bar" } [1]=> array(3) { ["id"]=> string(1) "2" ["firstname"]=> string(3) "foo" ["lastname"]=> string(3) "bar" } }
JSON
[{"id":"1","firstname":"foo","lastname":"bar"},{"id":"2","firstname":"foo","lastname":"bar"}]
答案 1 :(得分:2)
这会对每一行进行编码,每行都是JSON对象:
$json = array();
while($r=mysql_fetch_array($res)){
$json[] = $r;
}
echo json_encode($json);