3v4l.org

run code in 300+ PHP versions simultaneously
<?php $firstArr = array( 0 =>array('driver'=>'xxxx', 'distance' => 100, 'vehicle' => 1, 'date' => '2019-10'), 1=>array('driver'=>'xxxx', 'distance' => 200, 'vehicle' => 2, 'date' => '2019-10'), 2=>array('driver'=>'yyyy', 'distance' => 100, 'vehicle' => 3, 'date' => '2019-10')); print_r($firstArr); $finalArray= array(); foreach($firstArr as $arr){ if(!isset($finalArray[$arr['driver']])){ $finalArray[$arr['driver']] = $arr; }else{ $finalArray[$arr['driver']]['distance']= $finalArray[$arr['driver']]['distance']+$arr['distance']; $finalArray[$arr['driver']]['vehicle']= $finalArray[$arr['driver']]['vehicle'].','.$arr['vehicle']; } } print_r(array_values($finalArray));

preferences:
64.66 ms | 402 KiB | 5 Q