3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dates = [ '2019-08-19 00:00:00', '2019-08-20 00:00:00', '2019-08-21 00:00:00', '2019-08-21 00:00:00', '2019-08-21 00:00:00', '2019-08-22 00:00:00', '2019-08-22 00:00:00', '2019-08-22 00:00:00', '2019-08-23 00:00:00', '2019-08-23 00:00:00', '2019-08-23 00:00:00', '2019-08-24 00:00:00', '2019-08-24 00:00:00', '2019-08-25 00:00:00', '2019-08-25 00:00:00', ]; $lastDay = ""; $i = -1; foreach ($dates as $date){ $i++; $dateTime = new DateTime($date); if ($lastDay != $dateTime->format("d") && $i != 0){ //$dates[$i - 1]['lastDay'] = true; echo ($i - 1) . " is a last row in a day\n"; } $lastDay = $dateTime->format("d"); } echo $i . " is a last row in a day\n";; // last row must be a last row in a day also
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
0 is a last row in a day 1 is a last row in a day 4 is a last row in a day 7 is a last row in a day 10 is a last row in a day 12 is a last row in a day 14 is a last row in a day

preferences:
118.8 ms | 403 KiB | 184 Q