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

时间:2016-08-25 15:49:23

标签: php arrays sum key associative

在尝试对关联数组中相同的键值求和时,我没有做到这一点。我认为这将是一项轻松的任务,但事实并非如此......

我期待以下结果:

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

这是数组:

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

以下是我尝试过的事情:

$sum= array();

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

无论如何,根本没有进行循环,因为它返回了这个结果,

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

并出错,

 Undefined offset: 1 

我想也许有一个PHP函数来处理它,但我很乐意提供任何帮助。

1 个答案:

答案 0 :(得分:0)

你想要的是不可能的。数组不能有重复的键:

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

如果要在一个键中存储多个值,则该键必须指向一个数组:

$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)
  }
}