可以对数组中的元素求和吗?


PHP Is it possible to sum elements of an array?

我有一个包含多组数据的数组。

是否可以对数组的元素(不是全部)求和。例如,是否有可能对数组中的前5组数据求和,然后是后面的7组,然后是后面的3组,等等。

编辑:

我试过以下方法,但都不满意:

for ($p=0; $p<=8; $p++){
    $tot = 0;
    $resp = 0;
    $tot = $tot + $row4['Total_Staff'];
    $resp = $resp + $row4['Total_Resp'];
}

显然我没有正确使用这个!

阵列输出(print_r输出):

Array ( [department] => Central>ACME>BusDev [Total_Staff] => 4 [Total_Resp] => 0 ) 
Array ( [department] => Central>ACME>ChemDev [Total_Staff] => 7 [Total_Resp] => 0 ) 
Array ( [department] => Central>ACME>Admin [Total_Staff] => 1 [Total_Resp] => 0 ) 
Array ( [department] => Central>ACME>Chemistry [Total_Staff] => 4 [Total_Resp] => 0 )

使用array_splice()从数组中删除$numOfElems元素并返回它们。用array_sum()计算总和。重复此过程,直到数组为空。

$array = array(/* your array */)
$sets = array(5,7,3);
$sum_arr = array();
foreach ($sets as $numOfElems) {
    while (!empty($array)) {
        $elem_arr = array_splice($array, 0, $numOfElems);
        $sum[] = array_sum($elem_arr);
    }
}
print_r($sum_arr);

这将使用相同的集合重复这个过程,直到到达数组的末尾。如果您只想要count($sets)次迭代,那么也许,您可以将while更改为if