对PHP中两个关联多维数组的值求和 [英] Sum the values of two associative multi-dimensional arrays in PHP

查看:64
本文介绍了对PHP中两个关联多维数组的值求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图对两个关联数组的值求和.这是第一个数组:

I am trying to sum the values of two associative arrays. This is the first array:

Array
(
[Jan 01, 2013] => Array
    (
        [COM] => 100
        [RES] => 200
    )

[Oct 28, 2014] => Array
    (
        [COM] => 300
        [RES] => 400
    )
)

这是第二个数组:

Array
(
[Jan 01, 2013] => Array
    (
        [COM] => 10
        [RES] => 20
    )

[Oct 28, 2014] => Array
    (
        [COM] => 30
        [RES] => 40
    )
)

我需要对这两个数组的值求和,以便产生以下结果:

I need to sum the values from these two arrays so that it produces this result:

    Array
(
[Jan 01, 2013] => Array
    (
        [COM] => 110
        [RES] => 220
    )

[Oct 28, 2014] => Array
    (
        [COM] => 330
        [RES] => 440
    )
)

我发现此教程可以对关联数组的值求和,但似乎不适用于我的多维数组.有什么建议如何做到这一点?谢谢.

I found this tutorial to sum values of associative arrays, but it does not seem to work with my multi-dimensional arrays. Any suggestions how to accomplish this? Thank you.

推荐答案

foreach()用于第一个数组&检查第一个数组的键在第二个数组中是否存在.如果存在,则计算总和.示例:

Use foreach() for first array & check the key of first array whether it exist or not in second array. If exist the calculate sum. Example:

$arr1 = Array
(
    "Jan 01, 2013" => Array
    (
        "COM" => 100,
        "RES" => 200,
    ),

    "Oct 28, 2014" => Array
    (
        "COM" => 300,
        "RES" => 400,
    )
);
$arr2 = Array
(
    "Jan 01, 2013" => Array
    (
        "COM" => 10,
        "RES" => 20,
    ),

    "Oct 28, 2014" => Array
    (
        "COM" => 30,
        "RES" => 40,
   )
);

$arr3 = array();
foreach($arr1 as $key => $val):
    if(array_key_exists($key, $arr2)):
        $arr3[$key]["COM"] = $val["COM"] + $arr2[$key]["COM"];
        $arr3[$key]["RES"] = $val["RES"] + $arr2[$key]["RES"];
    endif;
endforeach;

print '<pre>';
print_r($arr3);
print '</pre>';


输出:

Array
(
    [Jan 01, 2013] => Array
        (
            [COM] => 110
            [RES] => 220
        )

    [Oct 28, 2014] => Array
        (
            [COM] => 330
            [RES] => 440
        )

)

这篇关于对PHP中两个关联多维数组的值求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆