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 )原创,转载请保留文章出处。