如何对数组关联中相同键的值求和
How to sum values of same key in array 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($sum);
无论如何,根本没有执行循环,因为它返回的是这个结果,
Array ( [1] => 3 [2] => 6 );
还有一个错误,
Undefined offset: 1
我想也许有一个 PHP 函数来处理它,但我很乐意提供任何帮助。
你想要的是不可能的。数组不能有重复的键:
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)
}
}
在尝试对关联数组中相同键的值求和时,我做错了。我以为这会很容易,但事实并非如此,所以请...
我期待以下结果:
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($sum);
无论如何,根本没有执行循环,因为它返回的是这个结果,
Array ( [1] => 3 [2] => 6 );
还有一个错误,
Undefined offset: 1
我想也许有一个 PHP 函数来处理它,但我很乐意提供任何帮助。
你想要的是不可能的。数组不能有重复的键:
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)
}
}