3v4l.org

run code in 300+ PHP versions simultaneously
<?php $months = ['June 2016', 'July 2016', 'August 2016']; $results = [ [ ['crate' => 13.51, 'ucount' => 36, 'udate' => '2016-06-30'], ['crate' => 20.51, 'ucount' => 36, 'udate' => '2016-07-30'] ] ]; $defaults = []; foreach ($months as $month) { $defaults[$month] = ['crate' => 0, 'ucount' => 0, 'udate' => $month]; } foreach ($results[0] as $row) { $formatted = date('F Y', strtotime($row['udate'])); // generate date in desired format if (isset($defaults[$formatted])) { $row['udate'] = $formatted; // overwrite the row value $defaults[$formatted] = $row; // overwrite the default row } } var_export(array_values($defaults));
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'crate' => 13.51, 'ucount' => 36, 'udate' => 'June 2016', ), 1 => array ( 'crate' => 20.51, 'ucount' => 36, 'udate' => 'July 2016', ), 2 => array ( 'crate' => 0, 'ucount' => 0, 'udate' => 'August 2016', ), )

preferences:
115.16 ms | 1408 KiB | 4 Q