douzi4724 2016-08-25 15:49
浏览 81
已采纳

如何在数组关联中对相同键的值求和

I'm not getting this right when trying to sum values of keys that are same within an associative array. I thought it's gonna be easy task, but it ain't the case so please...

I'm expecting following result:

 1 -->(7) 
2 -->(14)

Here's the array:

 $array = array( 1=>4, 2=>8, 1=>3, 2=>6, );

Here's what i tried since:

$sum= array();

foreach ($array as $key => $value){ $sum[$key] += $value;} print_r($sum);

Anyway, there's no loop performed at all, since it's returning this result,

Array ( [1] => 3 [2] => 6 );

and an error,

 Undefined offset: 1 

I thought maybe there's a PHP function to handle it, but I'll be glad for any help.

  • 写回答

1条回答 默认 最新

  • duanji8615 2016-08-25 15:53
    关注

    What you want is impossible. Arrays cannot have duplicate keys:

    php > $arr = array(1=>2, 1=>500);
    php > var_dump($arr);
    array(1) {
      [1]=>
      int(500)  // hey! where'd "2" go?
    }
    

    If you want to store multiple values in a single key, then that key has to point to an array:

    $arr = array();
    $arr[1] = array(1, 500);
    var_dump($arr);
    php > var_dump($arr);
    array(1) {
      [1]=>
      array(2) {
        [0]=>
        int(1)
        [1]=>
        int(500)
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答