如何基于id在数组中编写json数组的php代码,以免增加

如何基于id在数组中编写json数组的php代码,以免增加,php,arrays,json,Php,Arrays,Json,我想尝试创建一个json数组,其中包含一个数组,但是我遇到了一个失败,数组中的数组结果在基数组中发出了值循环 这是我的php代码 <?php require_once('include/db_connect.php'); $sql = "SELECT DISTINCT * FROM pesanan"; $response = mysqli_query($con, $sql); if (mysqli_num_rows($response) > 0 ) { $resu

我想尝试创建一个json数组,其中包含一个数组,但是我遇到了一个失败,数组中的数组结果在基数组中发出了值循环

这是我的php代码

<?php 

require_once('include/db_connect.php');

$sql = "SELECT DISTINCT * FROM pesanan";

$response = mysqli_query($con, $sql);

if (mysqli_num_rows($response) > 0 ) {

    $result = array();
    $result['pesanan'] = array();

    while ($data = mysqli_fetch_assoc($response)) {

        $h['id_pesanan']        = $data['id_pesanan'];
        $h['id_user']           = $data['id_alamat'];
        $h['id_beli']           = $data['id_beli'];
        $h['id_bank']           = $data['id_bank'];
        $h['kode_pesanan']      = $data['kode_pesanan'];
        $h['harga_pesanan']     = $data['harga_pesanan'];
        $h['harga_ongkir']      = $data['harga_ongkir'];
        $h['kurir_pengiriman']  = $data['kurir_pengiriman'];
        $h['status_pesanan']    = $data['status_pesanan'];
        $id_beli                = $data['id_beli'];

        $sql2= mysqli_query($con, "SELECT * FROM `keranjang` INNER JOIN `produk`
                                ON keranjang.`id_produk` = produk.`id_produk` WHERE id_beli='".$id_beli."'");

        while ($data2 = mysqli_fetch_array($sql2)) {
            $hs[] = array('nama_produk' => $data2['nama_produk'], 'spesifiksi' => $data2['spesifikasi_order']);

            foreach ($hs['produk'] as $data2['nama_produk']) ;

            $h["produk"] = array_map("unserialize", array_unique(array_map("serialize", $hs)));

            $id_pesanan = $data2['id_pesanan'];
            $id_foto    = $data2['id_foto_produk'];

            $sql4 = "SELECT * FROM `produk_foto` WHERE id_foto_produk='".$id_foto."'";
             $response4 = mysqli_query($con,$sql4);
            while ($data4 = mysqli_fetch_array($response4)) {
                $h['foto_produk'] = $data4['foto_produk'];
            }
        }

        $sql3 = mysqli_query($con, "SELECT * FROM `pesanan_file` WHERE id_pesanan='".$id_pesanan."' ORDER BY nama_file DESC");

        while ($data3 = mysqli_fetch_array($sql3, MYSQLI_ASSOC)) {
            $h['file'] = array('url_file' => $data3['url_file'], 'id_pesanan' =>  $data3['id_pesanan']);
        }

        array_push($result['pesanan'], $h);
     } 
     echo $result["success"] = "1";
     echo json_encode($result);

} else {

    echo $result["success"] = "0";
}?>`

在每次迭代之前,将非常感谢您的帮助

while ($data2 = mysqli_fetch_array($sql2)) {
您需要清除$hs数组:


不清楚你的问题是什么。电流输出有什么问题?你期待什么?也许可以举个例子。pesanan中的produk数组已在下一个pesanan上重复,我希望仅基于$id_beli@Jeff Thankshow的produk在超过3个pesanan:produk:{0:{id_pesanan:295035434}的情况下订购不带0 1的输出,依此类推,2:{id_pesanan:295035312},4:{id_pesanan:295035220}],成功:1}请不要在评论中提出与答案无关的问题。用详细的问题描述提出新问题。
while ($data2 = mysqli_fetch_array($sql2)) {
$sql2= mysqli_query($con, "SELECT * FROM `keranjang` INNER JOIN `produk`
                            ON keranjang.`id_produk` = produk.`id_produk` WHERE id_beli='".$id_beli."'");

// Here set empty array
$hs = array();   

while ($data2 = mysqli_fetch_array($sql2)) {
    $hs[] = array('nama_produk' => $data2['nama_produk'], 'spesifiksi' => $data2['spesifikasi_order']);