【问题标题】:how to use array_push for json_encode如何使用 array_push 进行 json_encode
【发布时间】:2014-03-15 07:50:50
【问题描述】:

我是 iOS 开发人员,我正在使用 PHP 制作 Web 服务以获取 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 ,.... 从哪里来?

【问题讨论】:

    标签: php json array-push


    【解决方案1】:

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

    只需简单地使用

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

    而不是

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

    【讨论】:

      【解决方案2】:

      Array_Push():返回数组中新的元素个数。

      ...这是您的号码来自,您正在使用 $data[] = 语句将它们添加到数组中

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

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

      在这种情况下结果相同

      【讨论】:

        【解决方案3】:

        您不需要像这样编写两次分配 $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']);
        

        【讨论】:

          猜你喜欢
          • 2017-04-18
          • 2011-10-19
          • 2021-05-12
          • 2012-05-09
          • 1970-01-01
          • 2016-04-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-05
          相关资源
          最近更新 更多