首頁  >  文章  >  後端開發  >  如何按多列對數組資料進行分組並對群組中的值求和?

如何按多列對數組資料進行分組並對群組中的值求和?

Linda Hamilton
Linda Hamilton原創
2024-11-05 13:18:02374瀏覽

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

將陣列資料以多列分組並分組求和

在這種情況下,需要根據兩個維度對多維數組資料進行分組列值(「部分」和「類型」)並對每個群組中特定列的值(「計數」)求和。給定一個如上所述的輸入數組 ($arr1),所需的輸出 ($arr2) 表示分組數據,其中包含「部分」和「類型」每種組合的計數值總和。

為了實現此結果,可以使用自訂函數:

<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>

在此函數中:

  • 建立 $output 陣列來儲存分組資料。
  • $ 的每個元素輸入被迭代。
  • $output 元素的鍵是透過連接 'part' 和 'type' 值建立的。
  • $output_element 中的值被相應地分配或更新。
  • 最後,array_values() 用來將 $output 陣列的值傳回為新陣列。

或者,如果兩個資料庫位於同一資料庫伺服器上,則分組和使用 SQL 的 GROUP BY 功能可以有效地執行求和。

以上是如何按多列對數組資料進行分組並對群組中的值求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn