<?php
$array = array (
Array ("goods_id" => "001", "goods_num" => 5 ),
Array ("goods_id" => "002", "goods_num" => 10 ),
Array ("goods_id" => "003", "goods_num" => 3 ),
Array ("goods_id" => "002", "goods_num" => 4 )
);
/**
* 二维数组过滤相同元素 并计算和值
* 2011-07-18
*/
function array_2d_count_key($_2dArray, $key, $key2) {
$nArray = array ();
foreach ( $_2dArray as $k ) {
$ckey = $k [$key];
$cVal = $k [$key2];
$cArray = array ($ckey => $cVal );
if (array_key_exists ( $ckey, $nArray )) {
$nArray [$ckey] = $cVal + $nArray [$ckey];
} else {
$nArray [$ckey] = $cVal;
}
}
return $nArray;
}
print_r ( array_2d_count_key ( $array, 'goods_id', 'goods_num' ) );
?>