二维数组根据相同 ‘键’ 累加
<?php
$a = array (
);
$b = array (
array ( 'productid' => '100', 'sex' => 'boy', 'price' => 510),
array ( 'productid' => '103', 'sex' => 'renyao', 'price' => 600),
array ( 'productid' => '103', 'sex' => 'renyao', 'price' => 50),
);
function foo() {
foreach(func_get_args() as $ar) {
foreach($ar as $v) {
$k = $v['productid'];
if(! $r[$k] ) {
$r[$k] = $v;
}else{
$r[$k]['price'] += $v['price'];
}
}
}
return $r;
}
print_r(foo($a, $b));
?>
输出结果:
Array
(
[100] => Array
(
[productid] => 100
[sex] => boy
[price] => 510
)
[103] => Array
(
[productid] => 103
[sex] => renyao
[price] => 650
)
)