如何从数组中的重复键中获取值的总和


How to get sum of values from repeated keys from an array

我有这些数组:

Array ([265] => 9.00)
Array ([265] => 9.00)
Array ([265] => 9.00)
Array ([265] => 9.00)
Array ([326] => 20.00)

我想计算报告的数量及其相应的金额:

265重复4次,其值之和为36

326重复1次,其值之和为20

我将感谢你的帮助。

感谢

$total = array();
foreach($arrays as $array) {
    foreach($array as $key => $value) {
        if (!isset($total[$key])) {
            $total[$key]['hits'] = 0;
            $total[$key]['count'] = 0;
        }
        $total[$key]['hits']++;
        $total[$key]['count']+= $value;
    }
}

查看我的代码,函数:http://phpfiddle.org/main/code/7ia-40m

$a = array ( array( 265 => '9.00'), array(265 => '9.00'), array(326 => '20.00') );
echo '<pre>'; print_r(getDetails($a)); echo '</pre>';
function getDetails($array) {
    $a = $array;
    $b = array();
    foreach($a as $ar) {
        $n=0;
        foreach($ar as $k => $v) {
            $n++;
            if(isset($b[$k])) {
                $b[$k]['val'] = ($b[$k]['val'] + $v);
                $b[$k]['total']++;
            } else {
                $b[$k]['val'] = (0 + $v);
                $b[$k]['total'] = (1);
            }
        }
    }
    $string = '';
    foreach($b as $k => $arr) {
        $val = $arr['val']; $key = $k; $tot = $arr['total'];
        $string .= $key.' repeated '.$tot.' times. Sum : '.$val.' <br />';
    }
    return $string;
}

结果:

265 repeated 2 times. Sum : 18 
326 repeated 1 times. Sum : 20

检查此

    <?php
$arr=array(
      array('265'=>'5'),
      array('265'=>'5'),
      array('265'=>'1'),
      array('280'=>'3')
);

$sets = array();
foreach($arr as $array)
{   
   foreach($array as $arrayset=>$cent)
  {
    $sets[$arrayset][] = $cent;
    if(isset($abc[$arrayset])) // prevent index warning
    {           
        $abc[$arrayset] += $cent;
    }
    else
    {
        $abc[$arrayset] = $cent;
    }
  }
}
echo "<pre>";
print_r($abc);
?>

输出

Array
(
    [265] => 11
    [280] => 3
)