php untuk masalah traversal tatasusunan
PHP中文网
PHP中文网 2017-05-16 13:03:11
0
6
608

< /p>

Seperti yang ditunjukkan dalam rajah, cara membuat nombor yang sama dalam order_id hanya dikeluarkan sekali dalam gelung

Perniagaan adalah seperti ini. Jadual ini merekodkan hubungan antara pesanan dan id pesanan ialah id pesanan id pesanan yang sama

Maka persoalannya ialah bagaimana untuk menggabungkan order_id yang sama menjadi satu output apabila memaparkan senarai pesanan

Gambar di atas menunjukkan output berasingan bagi order_id yang sama dan cara menggabungkannya

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(6)
小葫芦
$user_orders = 你获取的数据库数据;
$order_array = array();
foreach($user_orders as $value){
    $order_array[$value['order_id']][] = something;//一些你想放进去的数据 
}
return $order_array;

Keluarkan tatasusunan mengikut ID pesanan, dan gabungkan yang sama secara langsung (sila beritahu saya jika ada apa-apa yang salah)

巴扎黑

Ini tiada kaitan dengan gelung foreach anda dan segala-galanya berkaitan dengan logik untuk memaparkan halaman.

Contohnya: apabila anda mendapati bahawa sudah ada nombor pesanan yang sama sebelum ini, ia akan menjadi ok jika anda tidak lagi memaparkan nombor pesanan itu

小葫芦

Terdapat masalah dengan struktur jadual Secara amnya, terdapat jadual pesanan dan jadual produk pesanan Dengan struktur jadual semasa anda, anda boleh membuat pertanyaan terlebih dahulu mengikut order_id dan kemudian untuk membuat pertanyaan untuk semua produk dalam ini. order_id

某草草

Ini sepatutnya hasil yang anda inginkan, proses dan kemudian ulang.

$arr = array(
            array('pro_id'=>1,'order_id'=>1),
            array('pro_id'=>2,'order_id'=>1),
            array('pro_id'=>3,'order_id'=>2),
            array('pro_id'=>4,'order_id'=>3),
            array('pro_id'=>5,'order_id'=>4),
        );
$arr = array_column($arr,null,'order_id');
print_r($arr);die;
//打印结果如下
Array
(
    [1] => Array
        (
            [pro_id] => 2
            [order_id] => 1
        )

    [2] => Array
        (
            [pro_id] => 3
            [order_id] => 2
        )

    [3] => Array
        (
            [pro_id] => 4
            [order_id] => 3
        )

    [4] => Array
        (
            [pro_id] => 5
            [order_id] => 4
        )

)
左手右手慢动作

Alih keluar pendua apabila mengambil pangkalan data

phpcn_u1582

pilih dinstinct(order_id)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan