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

如何使用php获得具有相同键的关联数组的和,php,arrays,associative-array,Php,Arrays,Associative Array,我有一个PHP数组,如下所示。 我试图得到相同数组键的值之和。 我想使用PHP获得关联数组中每个关键元素的总和。如果有人能帮助我,那对我就更有帮助了。先谢谢你。 我的代码是: $arr=array(); foreach($srch\u val=>$srch\u行搜索){ foreach($srch_行作为$key=>$val){ 如果(数组\键\存在($key,$arr)){ $arr[$key]=$arr[$key]+数组和($val); }否则{ $arr[$key]=数组和($val);

我有一个PHP数组,如下所示。 我试图得到相同数组键的值之和。 我想使用PHP获得关联数组中每个关键元素的总和。如果有人能帮助我,那对我就更有帮助了。先谢谢你。 我的代码是:

$arr=array();
foreach($srch\u val=>$srch\u行搜索){
foreach($srch_行作为$key=>$val){
如果(数组\键\存在($key,$arr)){
$arr[$key]=$arr[$key]+数组和($val);
}否则{
$arr[$key]=数组和($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
[或]=>13
[GR]=>21
[PL]=>15
[BL]=>11
[LI]=>28
[AV]=>5
[CB]=>3

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

$val
是一个数字,而不是一个数组,所以去掉
数组的和,只使用
$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);
        }
    }
}
    

.

那么您想要所有
红色
蓝色
等的总和,还是所有
BR
BL
等的总和。?可能显示所需输出的示例。我想要所有AP的总和,或GR等我的输出,如[AP]=>6[或]=>13[GR]=>21[PL]=>15[BL]=>11[LI]=>28[AV]=>5[CB]=>3
$val
是一个数字而不是一个数组,所以去掉2
数组的和,只使用
$val
。不,它不起作用。我在问题的顶部添加了我的代码。你能查一下我的密码吗。从该代码中我得到了所有值为0的密钥是的。它对我有效。