按列对二维数组数据进行分组和求和
在此编程场景中,目标是按一列对二维数组的行进行分组值(例如“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 的解决方案:
要实现此数据转换,我们可以利用 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中文网其他相关文章!