3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ '2020-02-07' => ['09:00' => 1500, '10:30' => 1500, '11:00' => 1500, '11:30' => 0], '2020-02-08' => ['09:00' => 1500, '09:30' => 1500, '11:00' => 1500], ]; $result = []; foreach ($array as $k => $v) { $v = array_map(function($a) { return strtotime($a); }, array_keys($v)); for ($i = 0; $i < count($v); $i++) { $a = $v[$i]; $b = $a; while (isset($v[$i + 1]) && $v[$i + 1] - $v[$i] === 1800) { $b = $v[$i + 1]; $i++; } $range = $a == $b ? date('H:i', $a) : date('H:i', $a) .' - '. date('H:i', $b); $result[] = ['date' => $k, 'range' => $range]; } } print_r($result);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [date] => 2020-02-07 [range] => 09:00 ) [1] => Array ( [date] => 2020-02-07 [range] => 10:30 - 11:30 ) [2] => Array ( [date] => 2020-02-08 [range] => 09:00 - 09:30 ) [3] => Array ( [date] => 2020-02-08 [range] => 11:00 ) )

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:
73.28 ms | 402 KiB | 8 Q