3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dates = ['20240228', '20240229', '20240301']; function formatDates(array $datesInput) { foreach ($datesInput as $datesKey => $date) { $date = new DateTime($date); $month = $date->format('F'); $day = $date->format('j'); if ($datesKey == 0) { $datesOutput = $day; } elseif ($currentMonth <> $month) { $datesOutput .= " $currentMonth & $day"; } else { $datesOutput .= ", $day"; } $currentMonth = $month; } return "$datesOutput $month"; } echo formatDates($dates);
Output for 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
28, 29 February & 1 March

preferences:
58.31 ms | 987 KiB | 4 Q