3v4l.org

run code in 300+ PHP versions simultaneously
<?php $newArr = array ( 100 => array ( 1 => array ( 'AVA_Date' => '2019-04-18', 'ROO_Id' => 100, 'RAT_Id' => 9 ), 2 => array ( 'AVA_Date' => '2019-04-20', 'ROO_Id' => 100, 'RAT_Id' => 10 ), 4 => array ( 'AVA_Date' => '2019-04-21', 'ROO_Id' => 100, 'RAT_Id' => 10 ), 7 => array ( 'AVA_Date' => '2019-04-22', 'ROO_Id' => 100, 'RAT_Id' => 9 ) ) ); $result = []; foreach ($newArr as $rooId => $rows) { $groups = []; foreach ($rows as $row) { if (!isset($groups[$row['RAT_Id']])) { $row['AVA_Date'] = (array) $row['AVA_Date']; $groups[$row['RAT_Id']] = $row; } else { $groups[$row['RAT_Id']]['AVA_Date'][] = $row['AVA_Date']; } } $result[$rooId] = array_values($groups); } var_export($result);

preferences:
24.33 ms | 404 KiB | 5 Q