在 PHP 中通过对多维数组进行分组来计数
可能的重复:
php 如何按特定的对象对多维数组进行分组价值?
php 使用多维数组按 SUM 分组
我需要一些帮助来获取数组元素数量的计数,方法是根据 php 中多维数组的日期值部分对其进行分组
I need some help in getting the count of the array element quantity by grouping it based on a date value part of a Multidimensional array in php
这是我的原始数组
Array
(
[0] => Array
(
[quantity] => 5
[dd] => 01-Nov-2012
)
[1] => Array
(
[quantity] => 10
[dd] => 01-Nov-2012
)
[2] => Array
(
[quantity] => 3
[dd] => 02-Nov-2012
)
[3] => Array
(
[quantity] => 4
[dd] => 03-Nov-2012
)
[3] => Array
(
[quantity] => 15
[dd] => 03-Nov-2012
)
)
这是我期待的输出
Array
(
[0] => Array
(
[quantity] => 15
[dd] => 01-Nov-2012
)
[1] => Array
(
[quantity] => 3
[dd] => 02-Nov-2012
)
[2] => Array
(
[quantity] => 19
[dd] => 03-Nov-2012
)
)
推荐答案
只需遍历行,然后将不同数组中的数量相加,这些数组由 dd
值索引.
Just loop trough the rows, and add up the quantities in a different array indexed by the dd
values.
$in = array(array()); // your input
$out = array();
foreach ($in as $row) {
if (!isset($out[$row['dd']])) {
$out[$row['dd']] = array(
'dd' => $row['dd'],
'quantity' => 0,
);
}
$out[$row['dd']]['quantity'] += $row['quantity'];
}
$out = array_values($out); // make the out array numerically indexed
var_dump($out);
相关文章