可以用键求和值吗?怎么做(php)

时间:2010-03-24 18:57:42

标签: php

例如

数组

$array = array(
  array('first'=>5), array('first'=>4), array('second'=>3)
);

结果键的总和值:

$result = array(
  'first'=>9,
  'second'=>3
);

2 个答案:

答案 0 :(得分:3)

你可以迭代数组$ array并做任何你想做的事情。如果你有一些pprogramming技能,你可以使用任何语言。

$result=array();
foreach ($array as $sub) {
  foreach ($sub as $key => $value) {
    if (isset($result[$key])) $result[$key] += $value;
    else $result[$key]=$value;
  }
}

注意:如果从数据库获取此信息,最好使用数据库资源对其进行求和。

答案 1 :(得分:0)

您可以使用array_walk_recursive

$results = array();
array_walk_recursive($array, function($number, $key){
    global $results;
    if (! isset($results[$key])) $results[$key] = 0;
    $results[$key] += $number;
});

这适用于php> = 5.3