1、根据一个键进行相同键的值的数量累加
$arr = array(
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
);
$result = array();
foreach($arr as $val){
$key = $val['user_id'].'_'.$val['goods_id'];
if(!isset($result[$key])){
$result[$key] = $val;
}else{
$result[$key]['number'] += $val['number'];
}
}
echo '<pre>';
print_r(array_values($result));
echo '</pre>';
2.根据多个键进行,相同键的值累加
$arr = array(
array(
'user_id' => 100,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
array(
'user_id' => 102,
'goods_id' => 10,
'number' => 1,
),
);
$result = array();
foreach($arr as $val){
$key = $val['user_id'].'_'.$val['goods_id'];
if(!isset($result[$key])){
$result[$key] = $val;
}else{
$result[$key]['number'] += $val['number'];
}
}
echo '<pre>';
print_r(array_values($result));
echo '</pre>';
版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。