3v4l.org

run code in 300+ PHP versions simultaneously
<?php # The events array. $events = [ [ "title" => "Title 1", "start_time" => "09:00", "end_time" => "17:00", "start_date" => "2017-05-25" ], [ "title" => "Title 2", "start_time" => "09:00", "end_time" => "17:00", "start_date" => "2018-05-25" ], [ "title" => "Title 3", "start_time" => "09:00", "end_time" => "17:00", "start_date" => "2018-05-27" ], [ "title" => "Title 3", "start_time" => "09:00", "end_time" => "17:00", "start_date" => "2018-07-15" ], [ "title" => "Title 4", "start_time" => "09:00", "end_time" => "17:00", "start_date" => "2019-01-02" ] ]; # Create an array to store the data. $grouped = []; # Iterate over every event. foreach ($events as $event) { # Format and save the date as 'Month Year'. $monthYear = date("F Y", strtotime($event["start_date"])); # Define the key of the object as as an array, if not already defined. $grouped[$monthYear] = $grouped[$monthYear] ?? []; # Insert the title to the array corresponding to the formatted date. $grouped[$monthYear][] = $event["title"]; } # Iterate over every key - value. foreach ($grouped as $key => $value) { # Print the 'Month Year' key. echo $key . "\n"; # Iterate over every title and print it. foreach ($value as $title) echo "- $title\n"; # Separate each group with an empty line. echo "\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
May 2017 - Title 1 May 2018 - Title 2 - Title 3 July 2018 - Title 3 January 2019 - Title 4

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:
162.99 ms | 405 KiB | 5 Q