按列對二維數組資料進行分組和求和
在此程式設計場景中,目標是按一列對二維數組的行進行分組值(例如“dd”),然後將每組內另一列(“數量”)的值加總。結果是一個具有唯一“dd”值和聚合數量資訊的簡化二維數組。
範例:
考慮以下輸入陣列:
[ ['quantity' => 5, 'dd' => '01-Nov-2012'], ['quantity' => 10, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 4, 'dd' => '03-Nov-2012'], ['quantity' => 15, 'dd' => '03-Nov-2012'], ]
所需的輸出陣列將是:
[ ['quantity' => 15, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 19, 'dd' => '03-Nov-2012'], ]
所需的輸出陣列將是:
使用PHP 的解決方案:// Input array $in = array(array()); // Create output array $out = array(); // Iterate through input rows foreach ($in as $row) { // Check if 'dd' key exists in output array if (!isset($out[$row['dd']])) { // Initialize entry for 'dd' with empty quantity $out[$row['dd']] = array( 'dd' => $row['dd'], 'quantity' => 0, ); } // Accumulate quantity for 'dd' key $out[$row['dd']]['quantity'] += $row['quantity']; } // Adjust output array to numerical indexing $out = array_values($out); // Display output array var_dump($out);要實現此資料轉換,我們可以利用PHP 的內建陣列和循環功能:
以上是如何在 PHP 中按列對二維數組中的資料進行分組和求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!