3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ "08:30", "09:00", "09:30", "10:00", "14:30", "15:00", "15:30", "16:00", "16:30" ], [ "13:30", "14:00", "14:30", "18:00", "18:30", "19:00" ] ]; function compactTimes( array $times, string $format = 'H:i', string $separation = "30 minutes" ): array { $result = []; $prev = null; foreach ($times as $time) { if (!$prev || $time !== date("H:i", strtotime("+$separation $prev"))) { unset($ref); $ref = [$time, $time]; $result[] =& $ref; } else { $ref[1] = $time; } $prev = $time; } return $result; } var_export( array_map('compactTimes', $array) );
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
array ( 0 => array ( 0 => array ( 0 => '08:30', 1 => '10:00', ), 1 => array ( 0 => '14:30', 1 => '16:30', ), ), 1 => array ( 0 => array ( 0 => '13:30', 1 => '14:30', ), 1 => array ( 0 => '18:00', 1 => '19:00', ), ), )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
139.03 ms | 407 KiB | 5 Q