我已经得到了下面的数组$main_array .想要总结子数组中的所有元素,如[0]=>6,[1]=>11,[2]=>15.
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 2
[1] => 4
[2] => 5
)
[2] => Array
(
[0] => 8
[1] => 4
[2] => 3
)
)
试过下面的代码。
foreach ($main_array as $key => $value)
$main_array[$key] = Array('1'=>array_sum($value));
print_r($main_array);
但是我得到的数组结构是
Array
(
[0] => Array
(
[1] => 6
)
[1] => Array
(
[1] => 11
)
[2] => Array
(
[1] => 15
)
)
我期望数组结构如下:
Array
(
[0] => 6
[1] => 11
[2] => 15
)
提前感谢!
当你调用Array函数时你是在显式地创建一个数组所以你必须从Array('1'=>array_sum($value));
中删除这个
你的代码应该是这样的
foreach ($main_array as $key => $value)
$main_array[$key] = array_sum($value);
试试这个:
foreach ($main_array as $key => $value)
$main_array[$key] = array_sum($value);
对输入数组中的每一行调用array_sum()
。array_map()
使得这个操作简洁明了,并且不需要声明任何新的变量。
代码(演示):
$array = [
[1, 2, 3],
[2, 4, 5],
[8, 4, 3],
];
var_export(array_map('array_sum', $array));
输出:array (
0 => 6,
1 => 11,
2 => 15,
)