3

我想用 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 获取信息,如果我愿意的话等等。

4

2 回答 2

11

你可以试试这个,获取数据并推送到数组,然后回显该数组

$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"}]
于 2012-06-23T12:52:25.527 回答
2

好吧,这将对每一行进行编码,每一行都是 JSON 对象:

$json = array();
while($r=mysql_fetch_array($res)){
  $json[] = $r;
}
echo json_encode($json);
于 2012-06-23T12:51:20.790 回答