3v4l.org

run code in 300+ PHP versions simultaneously
<?php $intervals = [ ['from_time' => '15:00', 'to_time' => '17:15'], ['from_time' => '10:00', 'to_time' => '12:15'], ['from_time' => '09:00', 'to_time' => '11:15'], ['from_time' => '09:00', 'to_time' => '11:15'], ['from_time' => '14:00', 'to_time' => '16:15'], ['from_time' => '15:00', 'to_time' => '17:15'], ]; $overlaps = []; foreach ($intervals as $interval) { $key = null; foreach ($overlaps as $_key => $_intervals) { foreach ($_intervals as $_interval) { if ( ($_interval['from_time'] <= $interval['from_time'] && $interval['from_time'] <= $_interval['to_time']) || ($_interval['from_time'] <= $interval['to_time'] && $interval['to_time'] <= $_interval['to_time']) ) { $key = $_key; break 2; } } } if (is_null($key)) { $key = count($overlaps); } $overlaps[$key][] = $interval; } foreach ($overlaps as &$overlap) { $from = '00:00'; $to = '23:59'; foreach ($overlap as $_interval) { $from = max($from, $_interval['from_time']); $to = min($to, $_interval['to_time']); } $overlap = ['from_time' => $from, 'to_time' => $to]; } unset($overlap); print_r($overlaps);
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 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.18, 8.3.0 - 8.3.6
Array ( [0] => Array ( [from_time] => 15:00 [to_time] => 16:15 ) [1] => Array ( [from_time] => 10:00 [to_time] => 11:15 ) )
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/hg0tu on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/hg0tu on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/hg0tu on line 3
Process exited with code 255.

preferences:
307.11 ms | 401 KiB | 401 Q