Array
(
[Item 1] => Array
(
[0] => 8
[1] => 5
[2] => 4
)
[Item 2] => Array
(
[0] => 24
[1] => 4
)
[Item 3] => Array
(
[0] => 23
[1] => 4
)
}
如何将数组元素添加到一起,使它们成为
Array
(
[Item 1] => Array
(
[0] => 17
)
[Item 2] => Array
(
[0] => 28
)
[Item 3] => Array
(
[0] => 27
)
}
我之前使用array_merge_recursive将相同键的2个数组合并在一起,但现在我想将它们的元素一起添加,因此它们只有元素[0]。
谢谢!
答案 0 :(得分:5)
您可以使用array_map和array_sum来实现目标:
$array = array('Item1' => array(1, 3), 'Item2' => array(3, 4));
$array = array_map(function($item) {
return array_sum($item);
}, $array);
echo '<pre>';
var_dump($array);
echo '</pre>';
结果将是:
array(2) {
["Item1"]=>
int(4)
["Item2"]=>
int(7)
}
如果您确实需要将结果作为包含项目总和的数组,则将返回值更改为:
return array(array_sum($item));
答案 1 :(得分:2)
也许你可以像这样做很长的路
foreach($array as $key => $element){
$sum = 0;
foreach($element as $value){
$sum += $value;
}
$result[$key][0] = $sum;
}
基本上这样你将浏览数组的每个元素,你将创建所需元素的总和