Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghimpun dan Menjumlahkan Data Tatasusunan untuk Mencipta Tatasusunan Bersekutu Diratakan?

Bagaimana untuk Menghimpun dan Menjumlahkan Data Tatasusunan untuk Mencipta Tatasusunan Bersekutu Diratakan?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 02:39:09908semak imbas

How to Group and Sum Array Data to Create a Flattened Associative Array?

Mengumpulkan Data Tatasusunan dan Menjumlahkan Nilai untuk Susunan Bersekutu Diratakan

Memandangkan tatasusunan data bersekutu, cabarannya melibatkan pengumpulan elemen mengikut satu lajur ( cth., 'nama') dan menjumlahkan nilai daripada lajur lain (cth., 'amaun'). Hasilnya ialah tatasusunan bersekutu yang diratakan dengan kumpulan sebagai kunci dan jumlah dijumlahkan sebagai nilai.

Data Tatasusunan Disediakan

$array = [
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 1412341234],
    ['name' => 'Bank CIMB Niaga', 'amount' => 532532552], 
    ['name' => 'Bank BRI', 'amount' => 34534534], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 453425243], 
    ['name' => 'Bank BRI', 'amount' => 0], 
    ['name' => 'Bank BNI', 'amount' => 124124], 
    ['name' => 'Bank CIMB Niaga', 'amount' => 352345623], 
    ['name' => 'Bank BCA', 'amount' => 23432423], 
    ['name' => 'Bank Mandiri', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank BCA', 'amount' => 0], 
    ['name' => 'Bank Permata', 'amount' => 352352353],
];

Penyelesaian

Untuk mengumpulkan data tatasusunan mengikut 'nama' dan menjumlahkan nilai 'jumlah', ikut ini langkah:

  1. Memulakan tatasusunan kosong yang dipanggil $bankTotals.
  2. Lelaran pada $array menggunakan gelung foreach.
  3. Untuk setiap elemen dalam tatasusunan, dapatkan semula kekunci 'nama' dan 'jumlah'.
  4. Jika kunci itu tidak wujud dalam $bankTotals, tetapkannya kepada 0.
  5. Naikkan 'amaun' untuk nama bank semasa dalam $bankTotals.

Kod:

$bankTotals = array();
foreach($array as $amount)
{
  $bankTotals[$amount['name']] += $amount['amount'];
}

Output:

array (
  'Bank BRI' => 34534534,
  'Bank BCA' => 1435773657,
  'Bank CIMB Niaga' => 1338303418,
  'Bank BNI' => 124124,
  'Bank Mandiri' => 0,
  'Bank Permata' => 352352353,
)

Susun atur $bankTotals sekarang mengandungi data yang dikumpulkan dan dijumlahkan, dengan nama bank sebagai kunci dan jumlah amaun sebagai nilai. Tatasusunan bersekutu yang diratakan ini sedia untuk digunakan selanjutnya dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpun dan Menjumlahkan Data Tatasusunan untuk Mencipta Tatasusunan Bersekutu Diratakan?. 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