Rumah > Soal Jawab > teks badan
< /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
高洛峰2017-05-16 13:05:11
$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)
巴扎黑2017-05-16 13:05:11
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
高洛峰2017-05-16 13:05:11
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
某草草2017-05-16 13:05:11
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
)
)