ichadhr
10/10/2019 - 2:35 PM

PHP sum value if key same

$array=[
    ['day'=>'11','movements'=>'1'],
    ['day'=>'11','movements'=>'1'],
    ['day'=>'11','movements'=>'1'],
    ['day'=>'12','movements'=>'1'],
    ['day'=>'12','movements'=>'1'],
    ['day'=>'12','movements'=>'1']
];
foreach($array as $row){  // iterate all rows
    if(!isset($result[$row['day']])){  // if first occurrence of day...
        $result[$row['day']]=$row;     // save the full row with day as the temporary key
    }else{                                    // if not the first occurrence of day...
        $result[$row['day']]['movements']+=$row['movements'];  // add movements value
    }
}
var_export(array_values($result));

output:

array (
  0 => 
  array (
    'day' => '11',
    'movements' => 3,
  ),
  1 => 
  array (
    'day' => '12',
    'movements' => 3,
  ),
)