Bagaimana untuk Menghimpunkan Data Tatasusunan mengikut Berbilang Lajur dan Jumlah Nilai dalam Kumpulan?

Linda Hamilton
Lepaskan: 2024-11-05 13:18:02
asal
452 orang telah melayarinya

How to Group Array Data by Multiple Columns and Sum Values in Groups?

Kumpulkan Data Tatasusunan mengikut Berbilang Lajur dan Jumlah Nilai dalam Kumpulan

Dalam situasi ini, adalah perlu untuk mengumpulkan data tatasusunan berbilang dimensi berdasarkan dua nilai lajur ('bahagian' dan 'jenis') dan jumlahkan nilai lajur tertentu ('kira') dalam setiap kumpulan. Memandangkan tatasusunan input ($arr1) seperti yang diterangkan, output yang dikehendaki ($arr2) mewakili data terkumpul dengan nilai kiraan terjumlah untuk setiap gabungan 'bahagian' dan 'jenis'.

Untuk mencapai hasil ini, a fungsi tersuai boleh digunakan:

<code class="php">function groupByPartAndType($input) {
  $output = Array();

  foreach($input as $value) {
    $output_element = &amp;$output[$value['part'] . "_" . $value['type']];
    $output_element['part'] = $value['part'];
    $output_element['type'] = $value['type'];
    !isset($output_element['count']) &amp;&amp; $output_element['count'] = 0;
    $output_element['count'] += $value['count'];
  }

  return array_values($output);
}</code>
Salin selepas log masuk

Dalam fungsi ini:

  • Tatasusunan $output dicipta untuk menyimpan data terkumpul.
  • Setiap elemen $ input diulang.
  • Kunci untuk elemen $output dicipta dengan menggabungkan nilai 'part' dan 'type'.
  • Nilai dalam $output_element diberikan atau dikemas kini dengan sewajarnya.
  • Akhir sekali, array_values() digunakan untuk mengembalikan nilai tatasusunan $output sebagai tatasusunan baharu.

Sebagai alternatif, jika kedua-dua pangkalan data berada pada pelayan pangkalan data yang sama, pengumpulan dan penjumlahan boleh dilakukan dengan cekap menggunakan ciri GROUP BY SQL.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Data Tatasusunan mengikut Berbilang Lajur dan Jumlah Nilai dalam Kumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan