如何将array_push用于json_encode

Usa*_*diq 4 php json array-push

我是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;
Run Code Online (Sandbox Code Playgroud)

这就是我想要的结果:

[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"},{"id":"6"},{"id":"7"},{"id":"8"},{"id":"9"},{"id":"10"},{"id":"11"},{"id":"12"}]
Run Code Online (Sandbox Code Playgroud)

但上面的代码给我这样的:

[{"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]
Run Code Online (Sandbox Code Playgroud)

从这里1,3,5,......来的地方?

anu*_*upr 8

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

只需简单地使用

 array_push($data, array('id' => $row['id']));
Run Code Online (Sandbox Code Playgroud)

代替

 $data[] = array_push($data, array('id' => $row['id']));
Run Code Online (Sandbox Code Playgroud)