我是iOS开发人员,我在PHP中使用Webservices来获取JSON响应。
我写的代码是:
$result = mysqli_query($con,"SELECT * FROM wp_marketcatagories");
$data =array();
while($row = mysqli_fetch_array($result))
{
$data[] = array_push($data, array('id' => $row['id']));
}
$json = json_encode($data);
echo $json;
这就是我想要的结果:
[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"},{"id":"6"},{"id":"7"},{"id":"8"},{"id":"9"},{"id":"10"},{"id":"11"},{"id":"12"}]
但是上面的代码就是这样给我的:
[{"id":"1"},1,{"id":"2"},3,{"id":"3"},5,{"id":"4"},7,{"id":"5"},9,{"id":"6"},11,{"id":"7"},13,{"id":"8"},15,{"id":"9"},17,{"id":"10"},19,{"id":"11"},21,{"id":"12"},23]
这个1,3,5,......来自哪里?
答案 0 :(得分:6)
无需将其分配给$data[]
。您已将值推送到数组$data
只需使用
即可 array_push($data, array('id' => $row['id']));
而不是
$data[] = array_push($data, array('id' => $row['id']));
答案 1 :(得分:2)
Array_Push():返回数组中新的元素数。
...这是您的号码来自,并且您使用$data[] =
语句将它们添加到数组中
array_push($data, array('id' => $row['id']));
或
$data[] = array('id' => $row['id']);
此方案中的结果相同
答案 2 :(得分:1)
您不需要像这样编写两次$ data数据: $ data [] = array_push($ data,array(' id' => $ row [' id']));
array_push - 将一个或多个元素推送到数组的末尾
语法:array_push(array,value1,value2...)
只需写下
array_push($data, array('id' => $row['id']));
或
$data[] = array('id' => $row['id']);