如何统计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],
];
登录后复制

以上就是PHP数组统计:如何同时统计重复值数量并计算对应金额?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部