$responses = array();
while ($row = mysql_fetch_array($result)) {
$response = array(
'name' => $row['name']
);
$row;
$responses['name5'] = $response;
}
echo json_encode($responses);
我目前只从这个声明中获得1行我知道他们的事实更多。
答案 0 :(得分:7)
在while循环的每次迭代中,您将覆盖相同的数组键$responses['name5']
,因此最终您在$responses
数组中只有一个值。
相反,你可能想要这样的东西追加到数组的末尾:
$responses[] = $response;
答案 1 :(得分:1)
你要覆盖$ response变量,原因是array_push
而不是
答案 2 :(得分:1)
$ answers ['name5'] = $ response;
您将获得最后一行,因为您在每个循环步骤中替换数据。 试试这个: $ answers ['name5'] [] = $ response;
答案 3 :(得分:0)
因为您正在将$ response数组重置为循环中的单个数组。您想要添加到数组中。
$responses = array();
while ($row = mysql_fetch_array($result)) {
array_push($response, array(
'name' => $row['name']
));
$row;
$responses['name5'] = $response;
}
echo json_encode($responses);
答案 4 :(得分:0)
DO
$responses[] = array('name5' => $response);