如何用PHP统计数组中部门的重复次数及对应金额?
时间:2025-1-8 08:15 作者:emer 分类: 无

如何统计php数组中的重复值并计算重复次数和金额
您希望对提供的php数组进行统计,包括统计每个部门的重复次数和产生的总金额。该数组如下所示:
array
(
[0] => array
(
[price] => 100
[org_name] => '部门1'
)
[1] => array
(
[price] => 100
[org_name] => '部门2'
)
[2] => array
(
[price] => 200
[org_name] => '部门2'
)
[3] => array
(
[price] => 500
[org_name] => '部门1'
)
) 登录后复制
:
- 统计重复次数:
使用 array_count_values() 函数来统计数组中每个元素的 org_name 值的重复次数。
立即学习“”;
$counts = array_count_values(array_column($array, 'org_name'));登录后复制
例如,上述数组的 $counts 数组如下所示:
array
(
['部门1'] => 2
['部门2'] => 2
) 登录后复制
- 计算总金额:
遍历数组并根据每个元素的 org_name 值累加对应的 price 值。
$prices = array();
foreach ($array as $item) {
if (isset($prices[$item['org_name']])) {
$prices[$item['org_name']] += $item['price'];
} else {
$prices[$item['org_name']] = $item['price'];
}
} 登录后复制
例如,上述数组的 $prices 数组如下所示:
array
(
['部门1'] => 600
['部门2'] => 300
) 登录后复制
- 合并结果:
遍历 $counts 数组,并根据其值创建新数组,其中包含统计结果。
$results = array();
foreach ($counts as $org_name => $count) {
$results[$org_name] = array(
'count' => $count,
'price' => $prices[$org_name]
);
} 登录后复制
例如,上述数组的 $results 数组如下所示:
Array
(
['部门1'] => Array
(
['count'] => 2
['price'] => 600
)
['部门2'] => Array
(
['count'] => 2
['price'] => 300
)
) 登录后复制
这样,你就可以获得每个部门的重复次数和产生的总金额的统计结果。
以上就是如何用PHP统计数组中部门的重复次数及对应金额?的详细内容,