php json 数组,如果超过 3 个,如何在没有 "0" "1" 的情况下对输出进行排序等等



我在数组中使用php array unerialialize和serialialize,数组独特,但我不希望product array array具有对象" 0" 1"等如果超过3

我想有这样的输出:

`

{
    "pesanan": [
        {
            "id_pesanan": "59",
            "id_user": "39",
            "id_beli": "29500075",
            "id_bank": "8",
            "kode_pesanan": "BRO-AHP5-170917-51SY",
            "tgl_pesanan": "2017-09-17 06:38:35",
            "harga_pesanan": "266000",
            "harga_ongkir": "16000",
            "kurir_pengiriman": "J&T Express REG",
            "status_pesanan": "pending",
            "produk": [
                {
                    "nama_produk": "Kartu Ucapan",
                    "id_pesanan": "295035434"
                },
                {
                    "nama_produk": "Kartu Ucapan",
                    "id_pesanan": "295035434"
                },
                {
                    "nama_produk": "Square Card",
                    "id_pesanan": "295035312"
                },
                {
                    "nama_produk": "Square Card",
                    "id_pesanan": "295035312"
                },
                {
                    "nama_produk": "Kartu Nama",
                    "id_pesanan": "295035220"
                }
            ]
        }
    ],
    "success": "1"
}

`

但是我有这样的输出:

` "pesanan": [
        {
            "id_pesanan": "59",
            "id_user": "39",
            "id_beli": "29500075",
            "id_bank": "8",
            "kode_pesanan": "BRO-AHP5-170917-51SY",
            "tgl_pesanan": "2017-09-17 06:38:35",
            "harga_pesanan": "266000",
            "harga_ongkir": "16000",
            "kurir_pengiriman": "J&T Express REG",
            "status_pesanan": "pending",
            "produk": {
                "0": {
                    "nama_produk": "Kartu Ucapan",
                    "id_pesanan": "295035434"
                },
                "2": {
                    "nama_produk": "Square Card",
                    "id_pesanan": "295035312"
                },
                "4": {
                    "nama_produk": "Kartu Nama",
                    "id_pesanan": "295035220"
                }
            }
        }
    ],
    "success": "1"
}`

这是我的php代码:

`

<?php 
    require_once('include/db_connect.php');
    $sql = "SELECT * FROM `pesanan` ORDER BY id_pesanan DESC";
    $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['tgl_pesanan']       = $data['tanggal_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` 
                                    INNER JOIN `pesanan_file`
                                    ON keranjang.`id_pesanan` = pesanan_file.`id_pesanan`
                                    WHERE keranjang.`id_beli`='".$id_beli."' ");
                    /*$h["produk"] = array();*/
                    $produk = array();
                    while ($data2 = mysqli_fetch_array($sql2)) {

                        $produk[] = array('nama_produk' => $data2['nama_produk'] , 'id_pesanan' => $data2['id_pesanan'],);

                            $h["produk"] = array_map("unserialize", array_unique(array_map("serialize", $produk)));
                }
            array_push($result["pesanan"], $h);

         } 

         $result["success"] = "1";
          echo json_encode($result);

    }else {
        $result["success"] = "0";
         echo json_encode($result);
    }

?>`

任何帮助将不胜感激

您对array_unique的使用删除了相同的数组值(仅留下一个实例),但是它也杀死了中间的数字键。

您的选项是删除array_unique调用,并在阵列中包含重复条目或重置阵列:

<?php 
require_once('include/db_connect.php');
$sql = "SELECT * FROM `pesanan` ORDER BY id_pesanan DESC";
$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['tgl_pesanan']       = $data['tanggal_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` 
                                INNER JOIN `pesanan_file`
                                ON keranjang.`id_pesanan` = pesanan_file.`id_pesanan`
                                WHERE keranjang.`id_beli`='".$id_beli."' ");
                /*$h["produk"] = array();*/
                $produk = array();
                while ($data2 = mysqli_fetch_array($sql2)) {

                    $produk[] = array('nama_produk' => $data2['nama_produk'] , 'id_pesanan' => $data2['id_pesanan'],);

                        $h["produk"] = array_map("unserialize", array_unique(array_map("serialize", $produk)));
            }
        // Reset array keys to fix items removed by array_unique
        $h['produk'] = array_values($h['produk']);
        array_push($result["pesanan"], $h);

     }

     $result["success"] = "1";
      echo json_encode($result);

}else {
    $result["success"] = "0";
     echo json_encode($result);
}

?>`

最新更新