php - 如何对多维数组求和

标签 php arrays multidimensional-array

我有以下数据:

Array(
        [A] => Array
            (
                [AA] => 10
            )

        [B] => Array
            (
                [BA] => 5
                [BB] => 1
                [BC] => -2
            )

        [C] => Array
            (
                [CA] => 3
                [CB] => 0
            )
    )

我想对数组的第二个元素(BA、BB、BC 等)的值进行求和,如下所示:

    Array(
        [A] => 10        
        [B] => 4
        [C] => 3
    )

我尝试使用 foreach (我使用 php 作为我的平台),但结果是错误的,有人能给我解释和解决这个问题的逻辑吗?谢谢

最佳答案

您可以循环遍历数组并使用array_sum

$arr = array(
    "A" => array
        (
            "AA" => 10,
        ),

    "B" => array
        (
            "BA" => 5,
            "BB" => 1,
            "BC" => -2
        ),

    "C" => array
        (
            "CA" => 3,
            "CB" => 0
        )
);

$result = array();
foreach( $arr as $key => $val ){
    $result[$key] = array_sum ( $val );
}

echo "<pre>";
print_r( $result );
echo "</pre>";

这将导致:

Array
(
    [A] => 10
    [B] => 4
    [C] => 3
)

文档:http://php.net/manual/en/function.array-sum.php

关于php - 如何对多维数组求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49269862/

相关文章:

php - Laravel Throttle 第二次覆盖

php - 如何在 mysql 中使用 JOIN 查询获取 Distinct 值和最后一条记录?

PHP - 获取当前 URL

php - 检测页面是否被机器人访问

c - 高级 C 赋值错误

c - printf ("%s\n") 输出不同于 printf ("%s")

php - 如何才能让每个电影标题只显示一次?

arrays - 如何处理 "non-conformable"数组?

c++ - 访问与某个位置直接相邻的多维数组中的所有位置?

C 多数组排列算法