Php 如何基于键对数组值求和?
第一个数组Php 如何基于键对数组值求和?,php,arrays,Php,Arrays,第一个数组 Array ( [0] => Array ( [1] => 2 ) [1] => Array ( [1] => 2 ) [2] => Array ( [2] => 1 ) [3] => Array (
Array
(
[0] => Array
(
[1] => 2
)
[1] => Array
(
[1] => 2
)
[2] => Array
(
[2] => 1
)
[3] => Array
(
[3] => 1
)
)
我想要像这样的输出
Array
(
[0] => Array
(
[1] => 4
)
[1] => Array
(
[2] => 1
)
[2] => Array
(
[3] => 1
)
)
我如何才能做到这一点?似乎是一个很好的例子:
对于我使用的最终结果;它接受一个数组并创建每个元素的单个元素子数组。每个子数组中总是只有一个元素吗?我希望[0]=>数组([1]=>2)[1]=>数组([1]=>2)作为[0]=>数组([1]=>4)为什么每个键的结果都有一个单独的子数组?为什么没有一个包含所有结果的关联数组呢?很高兴你真的让我们很难过。
$result = array();
foreach ($input as $subarray) {
foreach ($subarray as $key => $value) {
if (isset($result[$key])) {
$result[$key][$key] += $value;
} else {
$result[$key] = array($key => $value);
}
}
}
$result = array_values($result); // Convert from associative array to indexed array
$result = array();
foreach ($input as $subarray) {
foreach ($subarray as $key => $value) {
if (isset($result[$key])) {
$result[$key][$key] += $value;
} else {
$result[$key] = array($key => $value);
}
}
}
$result = array_values($result); // Convert from associative array to indexed array