3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = array("category" => "Music", "items" => array( array("ID" => "1", "start_date" => "2018-11-20", "end_date" => "2018-11-28"), array("ID" => "2", "start_date" => "2018-11-22", "end_date" => "2018-11-28"), array("ID" => "3", "start_date" => "2018-11-26", "end_date" => "2018-11-30"), array("ID" => "4", "start_date" => "2018-11-27", "end_date" => "2018-11-31"), array("ID" => "4", "start_date" => "2018-11-29", "end_date" => "2018-11-31") ) ); foreach($a['items'] as $item){ $new[$item['end_date']]['date'] = $item['end_date']; $new[$item['end_date']][] = $item; } $res = $a; unset($res['items']); $res['items'] = array_values($new); var_dump($res);

preferences:
16.38 ms | 405 KiB | 5 Q