如何使用 php 获取具有相同键的关联数组的总和

how to get sum of associative array with same key using php

我有一个 PHP 数组如下。 我试图获取相同数组键的值的总和。 我想使用 PHP 获取关联数组中每个关键元素的总和。如果有人可以帮助我,那么它对我更有帮助。先感谢您。 我的代码是这样的:

  $arr = array();

  foreach ( $search as $srch_val => $srch_row){
    
   foreach ($srch_row as $key => $val) {

        if(array_key_exists($key, $arr)){
          $arr[$key] = $arr[$key] + array_sum($val);
          
        } else {
            $arr[$key] = array_sum($val);
        }
      }
 }

我的数组是这样的:

Array(   
    [RED] => Array
            (
               [AP] => 2

            )

            [BLUE] => Array
            (
                 [OR] => 5
                 [GR] => 3
                 [PL] => 2
                 [BL] => 1
            )

            [YELLOW] => Array
            (
                [LI] => 7
                [OR] => 4
                [GR] => 3
                [PL] => 4
            )

            [GREEN] => Array
            (
                [GR] => 3
                [AP] => 2
                [PL] => 1
                [LI] => 2
            )

    [BLACK] => Array
        (
            [BL] => 4
            [GR] => 4
            [LI] => 3
        )

    [VIOLET] => Array
        (
            [PL] => 3
            [GR] => 2
            [LI] => 1
        )
      )
  Array
  (
      [ORANGE] => Array
          (
              [AV] => 5
              [BL] => 6
              [OR] => 2
              [LI] => 3
          )

      [GREEN] => Array
          (
              [LI] => 5
              [GR] => 6
              [AP] => 2
              [CB] => 3
          )

      [YELLOW] => Array
          (
              [LI] => 6
              [PL] => 5
              [OR] => 2
          )
  )

我想得到每个关键元素的总和

我的输出如下:

[AP] => 6
[OR] => 13
[GR] => 21
[PL] => 15
[BL] => 11
[LI] => 28
[AV] => 5
[CB] => 3

但我得到的结果是所有键都包含零。

$val 是一个数字而不是数组,所以去掉 array_sum 并只使用 $val:

$arr = array();

foreach ($search as $srch_val => $srch_row) {
    foreach ($srch_row as $key => $val) {
        if(array_key_exists($key, $arr)) {
            $arr[$key] = $arr[$key] + ($val);
        } else {
            $arr[$key] = ($val);
        }
    }
}
    

Working Example.