如何统计php数组值的和?

$sf=array('w'=>array(23,12,43),'f'=>array(543,52,765),'t'=>array(435,634,636));如上述数组,需要计算下列23+543+435,12+52+634,43+765+636和分别是多少,而且数组的key数量不确定。
有些同志回答问题,都不看清楚细节。靠人不如靠己。
function get_sum($arr){
$new_arr=array_values($arr);
$col=count($new_arr[0]);
for ($k=1;$k<=$col;$k++){
$sum=0;
foreach ($new_arr as $value){
$n=$value[$k-1];
$sum+=$n;
}
$sum_arr[]=$sum;
}
print_r($sum_arr);
}

首先,对于简单的数组,可以使用array_sum函数来实现,函数的格式如下:

number array_sum       ( array $array      )

 

函数例子:

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

以上例程会输出:

sum(a) = 20
sum(b) = 6.9

此外,对于复杂格式的数组,可以自己使用foreach结构计算和,例如:

<?php
    $a=array(1,2,3,4);
    $s=0;
    foreach ($a as $v) $s+=$v;
    echo "sum=$s";
?>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-28
循环就行了追问

怎么循环?

追答

循环数组不会?

foreach

追问

新手,写不出来

第2个回答  2012-05-28
foreach(){
foreach(){}
}
第3个回答  2012-05-28
没一个回答的好

用array_sum() 不解释
第4个回答  2012-05-28
for($i=0;$i<count($sf[w])||$i<count($sf[f][$i])||$i<count($sf[t]);$i++)
{
if($i>=count($sf[w])){
$sf[w]['$i']='0';
}
if($i>=count($sf[f])){
$sf[f]['$i']='0';
}
if($i>=count($sf[t])){
$sf[t]['$i']='0';
}
$tol = $sf[w][$i]+$sf[f][$i]+$sf[t][$i];
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网