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 git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [from_time] => 15:00 [to_time] => 16:15 ) [1] => Array ( [from_time] => 10:00 [to_time] => 11:15 ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
43.99 ms | 401 KiB | 8 Q