Sum the values of two associative multi-dimensional arrays in PHP

后端 未结 3 464
失恋的感觉
失恋的感觉 2020-12-21 18:36

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

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


        
3条回答
  •  Happy的楠姐
    2020-12-21 19:18

    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 '
    ';
    print_r($arr3);
    print '
    ';

    Output:

    Array
    (
        [Jan 01, 2013] => Array
            (
                [COM] => 110
                [RES] => 220
            )
    
        [Oct 28, 2014] => Array
            (
                [COM] => 330
                [RES] => 440
            )
    
    )
    

提交回复
热议问题