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]。
谢谢!
您可以使用
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));
也许你可以像这样走很长的路
foreach($array as $key => $element){
$sum = 0;
foreach($element as $value){
$sum += $value;
}
$result[$key][0] = $sum;
}
基本上像这样,您将浏览数组的每个元素,然后创建所需元素的总和