Masalah:
Memandangkan tatasusunan yang mengandungi pasangan nilai kunci, kumpulan data berdasarkan nilai lajur tertentu dan jumlah data daripada lajur lain. Contohnya, jika anda mempunyai tatasusunan berikut:
$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 berdasarkan lajur 'nama' dan menjumlahkan data dalam lajur 'jumlah', ikut langkah berikut:
Selepas melelaran seluruh tatasusunan input, tatasusunan $bankTotals akan mengandungi data terkumpul dengan nama bank sebagai kunci dan jumlah yang dijumlahkan sebagai nilai.
Berikut ialah kod untuk mencapai output yang diingini:
$bankTotals = array(); foreach($array as $amount) { $bankTotals[$amount['name']] += $amount['amount']; } print_r($bankTotals);
Output:
Array ( [Bank BRI] => 34534534 [Bank BCA] => 1435773657 [Bank CIMB Niaga] => 1338303418 [Bank BNI] => 124124 [Bank Mandiri] => 0 [Bank Permata] => 352352353 )
Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan dan menjumlahkan data tatasusunan mengikut lajur dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!