编程语言
首页 > 编程语言> > php – 如何将array_push用于json_encode

php – 如何将array_push用于json_encode

作者:互联网

我是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,……来的地方?

解决方法:

无需将其分配给$data [].您已经将值推送到数组$data

只需简单地使用

 array_push($data, array('id' => $row['id']));

代替

 $data[] = array_push($data, array('id' => $row['id']));

标签:array-push,php,json
来源: https://codeday.me/bug/20190722/1507216.html