Hello! 欢迎来到小浪资源网!


PHP数组统计:如何同时统计重复值数量并计算对应金额?


PHP数组统计:如何同时统计重复值数量并计算对应金额?

如何统计php数组中的重复值和计算金额

php中,要统计数组中重复值的数量,可以使用 array_count_values() 函数。假设具有如下形式的数组 $Array

$array = [     ['price' => 100, 'org_name' => '部门1'],     ['price' => 100, 'org_name' => '部门2'],     ['price' => 200, 'org_name' => '部门2'],     ['price' => 500, 'org_name' => '部门1'], ];

要统计 org_name 字段的重复值,可以使用以下代码:

$counts = array_count_values(array_column($array, 'org_name'));

这将生成以下 $counts 数组:

立即学习PHP免费学习笔记(深入)”;

$counts = [     '部门1' => 2,     '部门2' => 2, ];

接下来,为了计算每个部门的总金额,可以使用 foreach 循环

$prices = []; foreach ($array as $item) {     if (isset($prices[$item['org_name']])) {         $prices[$item['org_name']] += $item['price'];     } else {         $prices[$item['org_name']] = $item['price'];     } }

这将生成以下 $prices 数组:

$prices = [     '部门1' => 600,     '部门2' => 300, ];

最后,可以合并 $counts 和 $prices 数组以生成所需的统计结果:

$results = []; foreach ($counts as $org_name => $count) {     $results[$org_name] = [         'count' => $count,         'price' => $prices[$org_name],     ]; }

这将产生以下结果:

$results = [     '部门1' => ['count' => 2, 'price' => 600],     '部门2' => ['count' => 2, 'price' => 300], ];

相关阅读