Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjumlahkan kumpulan tatasusunan dalam php

Bagaimana untuk menjumlahkan kumpulan tatasusunan dalam php

PHPz
PHPzasal
2023-04-27 09:03:05583semak imbas

Dalam bahasa pengaturcaraan PHP, kita selalunya perlu beroperasi pada tatasusunan Di antara operasi ini, penjumlahan kumpulan tatasusunan adalah keperluan yang sangat biasa, terutamanya dalam analisis statistik, pemprosesan data dan senario aplikasi kewangan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengumpulkan dan menjumlahkan tatasusunan berikut.

Pertama, kami mempunyai tatasusunan $aSalesRecord yang mengandungi rekod jualan produk Setiap elemen ialah tatasusunan rekod jualan, termasuk tiga medan: nama produk, harga jualan dan kuantiti jualan. Struktur tatasusunan adalah seperti berikut:

$aSalesRecord = tatasusunan(
tatasusunan('nama_produk' => 'A', 'harga' => 10, 'kuantiti' => 2),
tatasusunan('nama_produk' => 'B', 'harga' => 5, 'kuantiti' => 3),
tatasusunan('nama_produk' => 'A', 'harga' = > 15, 'kuantiti' => 1),
tatasusunan('nama_produk' => 'C', 'harga' => 20, 'kuantiti' => 2),
( 'nama_produk' => 'A', 'harga' => 12, 'kuantiti' => 3),
tatasusunan('nama_produk' => 'B', 'harga' => 6 , 'kuantiti' => 1),
tatasusunan('nama_produk' => 'C', 'harga' => 18, 'kuantiti' => 4),
tatasusunan('nama_produk' = > 'D', 'harga' => 25, 'kuantiti' => = > 1),
);

Sekarang, kita perlu mengumpulkan dan menjumlahkan tatasusunan ini, iaitu, mengumpulkan rekod jualan mengikut nama produk, dan mengira jumlah jumlah jualan dalam setiap kumpulan. Ini boleh dicapai dengan cara berikut:

$groupedSales = array();

foreach ($aSalesRecord sebagai $record) {
$productName = $record['product_name'];
$price = $rekod['harga'];
$kuantiti = $rekod['kuantiti'];
jika (!isset($groupedSales[$productName])) {

$groupedSales[$productName] = array(
  'count' => 0,
  'total_price' => 0,
);
}

$groupedSales[$productName]['count'] += $quantity;
$groupedSales[$productName]['total_price'] += $price * $quantity;
}

Dalam kod di atas, kami mula-mula menentukan tatasusunan kosong $groupedSales untuk menyimpan rekod jualan yang dikumpulkan mengikut nama produk. Kemudian, kami merentasi tatasusunan rekod jualan asal $aSalesRecord Untuk setiap rekod jualan, kami mengeluarkan tiga medan nama produk, harga jualan dan kuantiti jualan, dan mengumpulkannya mengikut nama produk. Jika nama produk semasa tidak wujud dalam tatasusunan $groupedSales, cipta elemen tatasusunan baharu dengan kunci sebagai nama produk dan mulakan jumlah kuantiti jualan dan jumlah jualan kepada 0. Kemudian, tambahkan kuantiti rekod jualan semasa kepada jumlah kuantiti jualan, dan tambahkan jumlah jualan rekod jualan semasa kepada jumlah jualan. Dengan cara ini, selepas merentasi semua rekod jualan, tatasusunan $groupedSales menyimpan rekod jualan yang dikumpulkan mengikut nama produk, dan juga mengandungi nilai dua medan jumlah kuantiti jualan dan jumlah jualan dalam setiap kumpulan.

Untuk mengesahkan ketepatan kod di atas, kami boleh menggunakan fungsi var_dump() untuk mencetak kandungan tatasusunan $groupedSales, seperti yang ditunjukkan di bawah:

var_dump($groupedSales) ;

Selepas menjalankan kod di atas, keputusan berikut akan dikeluarkan:

array(5) {

["A"]=>
array(2) {

["count"]=>
int(6)
["total_price"]=>
int(107)
}

["B"]=>
tatasusunan(2) {

["count"]=>
int(4)
["total_price"]=>
int(24)
}

["C"]=>
tatasusunan (2) {

["count"]=>
int(6)
["total_price"]=>
int(128)
}

["D"]=>
array(2) {

["count"]=>
int(2)
["total_price"]=>
int(50)
}

["E"]=>
tatasusunan(2) {

["count"]=>
int(1)
["total_price"]=>
int(30)
}

}

Seperti yang dapat dilihat daripada output di atas, tatasusunan $groupedSales mengandungi rekod jualan yang dikumpulkan mengikut nama produk dan jualan dalam setiap kumpulan juga dikira Jumlah amaun dan jumlah kuantiti jualan.

Secara amnya, mengumpulkan dan menjumlahkan tatasusunan dalam PHP adalah perkara yang sangat mudah Anda hanya perlu mengulangi tatasusunan asal, dan kemudian memproses setiap elemen seperti yang diperlukan dan menetapkannya kepada yang sepadan Dalam kumpulan, akhirnya dikira. jumlah unsur dalam setiap kumpulan. Untuk beberapa operasi jumlah terkumpul yang lebih kompleks, anda juga boleh menggunakan jenis data lanjutan PHP yang lain (seperti jadual cincang, pepohon, dll.) untuk dilaksanakan. Sama ada cara, adalah penting untuk memanfaatkan sepenuhnya ciri PHP yang berkuasa untuk meningkatkan kecekapan pengaturcaraan dan kebolehbacaan kod.

Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan kumpulan tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn