Php 多维关联数组的和
我想把上面的数组转换成下面这样的东西。我需要使用foreach还是可以使用array\u sumPhp 多维关联数组的和,php,multidimensional-array,foreach,associative-array,Php,Multidimensional Array,Foreach,Associative Array,我想把上面的数组转换成下面这样的东西。我需要使用foreach还是可以使用array\u sum Array ( [Sum_1] => Array ( [0] => Array ( [e] => 1000001 [u] =>
Array
(
[Sum_1] => Array
(
[0] => Array
(
[e] => 1000001
[u] => Test1
[a] => 775.00
)
[1] => Array
(
[e] => 26
[u] => Test2
[a] => 555.00
)
)
[Sum_2] => Array
(
[0] => Array
(
[e] => 1000001
[u] => Test1
[a] => 110.00
)
)
[Sum_3] => Array
(
[0] => Array
(
[e] => 1000001
[u] => Test1
[a] => 444.00
)
)
)
(我想得到名为sum_1,sum_2,sum_3的每个部分的元素[a]的和)
谢谢你的帮助 您可以这样做:
Array
(
[Sum_1] => 1330.00
[Sum_2] => 110.00
[Sum_3] => 444.00
)
在php 5.4之前:
$ret = array_map(function($val) {
return array_sum(array_map(function($val) {
return $val['a'];
}, $val));
}, $array);
你可以这样做:
Array
(
[Sum_1] => 1330.00
[Sum_2] => 110.00
[Sum_3] => 444.00
)
在php 5.4之前:
$ret = array_map(function($val) {
return array_sum(array_map(function($val) {
return $val['a'];
}, $val));
}, $array);
使用
foreach
循环,您可以尝试以下操作
function a_getter($val) {
return $val['a'];
}
$ret = array_map(function($val) {
return array_sum(array_map('a_getter', $val));
}, $array);
使用
foreach
循环,您可以尝试以下操作
function a_getter($val) {
return $val['a'];
}
$ret = array_map(function($val) {
return array_sum(array_map('a_getter', $val));
}, $array);
别逼我了,我写的正是:)@xdazz我能够在模板本身上不使用数组进行求和。无论如何,谢谢你。我真的不明白你的方法。我知道array\u map和array\u sum是做什么的,但是我不能真正理解它们在代码中是如何使用的?你能解释一下吗,或者告诉我一个有用的来源?感谢you@ThiliniIW检查数组映射的工作方式将有所帮助。array_map-将回调应用于给定数组的元素“”可以从php 5.4中使用。我写的正是:)@xdazz我能够在模板本身上不使用数组进行求和。无论如何,谢谢你。我真的不明白你的方法。我知道array\u map和array\u sum是做什么的,但是我不能真正理解它们在代码中是如何使用的?你能解释一下吗,或者告诉我一个有用的来源?感谢you@ThiliniIW检查数组映射的工作方式将有所帮助。array_map-将回调应用于给定数组的元素“”可以从PHP5.4中使用