登录
首页 >  文章 >  php教程

如何用PHP统计数组中部门的重复次数及对应金额?

时间:2024-12-27 22:36:38 389浏览 收藏

大家好,今天本人给大家带来文章《如何用PHP统计数组中部门的重复次数及对应金额?》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

如何用PHP统计数组中部门的重复次数及对应金额?

如何统计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'
        )
)

解决方法:

  1. 统计重复次数:

使用 array_count_values() 函数来统计数组中每个元素的 org_name 值的重复次数。

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

例如,上述数组的 $counts 数组如下所示:

array
(
    ['部门1'] => 2
    ['部门2'] => 2
)
  1. 计算总金额:

遍历数组并根据每个元素的 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
)
  1. 合并结果:

遍历 $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统计数组中部门的重复次数及对应金额?》的详细内容,更多关于的资料请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>