
如何统计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 值的重复次数。
立即学习“PHP免费学习笔记(深入)”;
$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统计数组中部门的重复次数及对应金额?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号