3v4l.org

run code in 300+ PHP versions simultaneously
<?php $datetimes = [ "items" => [ [ "id" => 1, "start_date" => "2019-09-26", "start_time" => "07:00:00", "end_date" => "2019-09-26", "end_time" => "09:00:00" ], [ "id" => 4, "start_date" => "2019-09-26", "start_time" => "12:00:00", "end_date" => "2019-09-26", "end_time" => "14:00:00" ], [ "id" => 9, "start_date" => "2019-09-26", "start_time" => "16:00:00", "end_date" => "2019-09-26", "end_time" => "17:00:00" ], [ "id" => 13, "start_date" => "2019-09-26", "start_time" => "19:00:00", "end_date" => "2019-09-26", "end_time" => "20:00:00" ], [ "id" => 2, "start_date" => "2019-09-27", "start_time" => "07:00:00", "end_date" => "2019-09-27", "end_time" => "08:00:00" ], [ "id" => 5, "start_date" => "2019-09-27", "start_time" => "12:00:00", "end_date" => "2019-09-27", "end_time" => "14:00:00" ], [ "id" => 10, "start_date" => "2019-09-27", "start_time" => "16:00:00", "end_date" => "2019-09-27", "end_time" => "18:00:00" ], [ "id" => 14, "start_date" => "2019-09-27", "start_time" => "19:00:00", "end_date" => "2019-09-27", "end_time" => "20:00:00" ], [ "id" => 3, "start_date" => "2019-09-28", "start_time" => "07:00:00", "end_date" => "2019-09-28", "end_time" => "10:00:00" ], [ "id" => 6, "start_date" => "2019-09-28", "start_time" => "12:00:00", "end_date" => "2019-09-28", "end_time" => "13:00:00" ], [ "id" => 11, "start_date" => "2019-09-28", "start_time" => "16:00:00", "end_date" => "2019-09-28", "end_time" => "17:00:00" ], [ "id" => 15, "start_date" => "2019-09-28", "start_time" => "19:00:00", "end_date" => "2019-09-28", "end_time" => "20:00:00" ] ] ]; $openinghours = []; function openinghours($times) { global $openinghours; $openinghours[$times["start_date"]][] = $times["start_time"]; $openinghours[$times["start_date"]][] = $times["end_time"]; sort($openinghours[$times["start_date"]]); } array_map("openinghours", $datetimes["items"]); var_dump($openinghours); foreach($openinghours as $date => $times) { echo "{$date} : {$times[0]} - " . end($times) . "\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
array(3) { ["2019-09-26"]=> array(8) { [0]=> string(8) "07:00:00" [1]=> string(8) "09:00:00" [2]=> string(8) "12:00:00" [3]=> string(8) "14:00:00" [4]=> string(8) "16:00:00" [5]=> string(8) "17:00:00" [6]=> string(8) "19:00:00" [7]=> string(8) "20:00:00" } ["2019-09-27"]=> array(8) { [0]=> string(8) "07:00:00" [1]=> string(8) "08:00:00" [2]=> string(8) "12:00:00" [3]=> string(8) "14:00:00" [4]=> string(8) "16:00:00" [5]=> string(8) "18:00:00" [6]=> string(8) "19:00:00" [7]=> string(8) "20:00:00" } ["2019-09-28"]=> array(8) { [0]=> string(8) "07:00:00" [1]=> string(8) "10:00:00" [2]=> string(8) "12:00:00" [3]=> string(8) "13:00:00" [4]=> string(8) "16:00:00" [5]=> string(8) "17:00:00" [6]=> string(8) "19:00:00" [7]=> string(8) "20:00:00" } } 2019-09-26 : 07:00:00 - 20:00:00 2019-09-27 : 07:00:00 - 20:00:00 2019-09-28 : 07:00:00 - 20:00: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:
30.31 ms | 409 KiB | 5 Q