我有一个这样的数组:我想总结前4个元素:
Array([0] => 0.00[1] => 26749.82[2] => 3209.98[3] => 0.00[4] => 0.00[5] => 25465.36 [6] => 3055.84[7] => 0.00[8] => 0.00[9] => 11883.00[10] => 1200.00[11] => 0.00)
1 = 29958.82
2 = 28521.2
3 = 13083
答案 0 :(得分:1)
你应该做那样的事情:
array_map('array_sum', array_chunk($yourArrayToSum, 4));
它将返回您的阵列:
Array
(
[0] => 29959.8
[1] => 28521.2
[2] => 13083
)
答案 1 :(得分:0)
循环数组并总结它们。
<?php
$sum = 0;
foreach ( $array as $key => $value) {
(float) $sum += $value;
if (in_array($key, array(3,7,11)) {
echo $sum;
}
}
或者你可以试试这个,不是那么清楚,但做同样的事情。
$sum = 0;
$len = 11;
for ($i=1; $i<=$len; $i++) {
(float) $sum += $array[$i][0];
if (in_array($key, array(3,7,11)) {
echo $sum;
}
}
根据我的评论编辑我错误解释了这个问题。虽然这些工作正常,但还有其他一些问题可以使用。
答案 2 :(得分:0)
您可以使用array_slice
获取数组的一部分并内置array_sum
来实现此目的:
$a = array(0.00, 0.2459, 0.688, 0.5, 10);
$b = array_slice($a, 0, 4);
echo array_sum($b); // you'll get 1.4339 in this example