2010-10-18 57 views
3

出于此:PHP的数组函数?

$arr = array(
      array('boo', 4), 
      array('boo', 1), 
      array('foo', 2), 
      array('foo', 6) 
      ); 

如何最好计算到这个?:

$arr = array(
      'boo' => 5, 
      'foo' => 8 
      ); 
+0

相关:http://stackoverflow.com/questions/1404422/php-array-sum-on-multi-dimensional-array – 2010-10-18 08:53:01

回答

3
$sum = array(); 
for ($i = 0; $i < count($arr); $i++) 
{ 
    if (!isset($sum[ $arr[$i][0] ]) 
     $sum[ $arr[$i][0] ] = 0; 
    $sum[ $arr[$i][0] ] += $arr[$i][1]; 
} 

print_r($sum); 
0
$arr = array(
     array('boo', 4), 
     array('boo', 1), 
     array('foo', 2), 
     array('foo', 6) 
); 

然后:

$arr2 = array(); 
foreach($arr as $value) { 
    if(isSet($arr2[$value[0]])) $arr2[$value[0]] += $value[1]; 
    else $arr2[$value[0]] = $value[1]; 
} 
+0

通过用四个空格缩进来格式化您的代码。 – BoltClock 2010-10-18 09:00:55