3v4l.org

run code in 300+ PHP versions simultaneously
<?php $list = array( '2016-01-29' => array( array( 'date' => 'January 29', 'time' => '8:30 am', 'datetime' => '2016-01-29T08:30:00-06:00', 'alldayflag' => 0 ), array( 'date' => 'January 29', 'time' => '12:00 am', 'datetime' => '2016-01-29T00:00:00-06:00', 'alldayflag' => 1 ), array( 'date' => 'January 29', 'time' => '2:00 pm', 'datetime' => '2016-01-29T14:00:00-06:00', 'alldayflag' => 0 ), array( 'date' => 'January 29', 'time' => '10:00 am', 'datetime' => '2016-01-29T10:00:00-06:00', 'alldayflag' => 0 ), array( 'date' => 'January 29', 'time' => '10:00 am', 'datetime' => '2016-01-29T10:00:00-06:00', 'alldayflag' => 1 ), array( 'date' => 'January 29', 'time' => '12:00 pm', 'datetime' => '2016-01-29T12:00:00-06:00', 'alldayflag' => 0 ), ), '2016-01-30' => array( array( 'date' => 'January 30', 'time' => '4:00 pm', 'datetime' => '2016-01-30T16:00:00-06:00', 'alldayflag' => 0 ), array( 'date' => 'January 30', 'time' => '5:00 pm', 'datetime' => '2016-01-30T17:00:00-06:00', 'alldayflag' => 1 ), array( 'date' => 'January 30', 'time' => '5:00 pm', 'datetime' => '2016-01-30T17:00:00-06:00', 'alldayflag' => 0 ), array( 'date' => 'January 30', 'time' => '11:00 am', 'datetime' => '2016-01-30T11:00:00-06:00', 'alldayflag' => 0 ), ) ); function sortCriteria($a, $b) { $aDateTime = new DateTime($a['datetime']); $bDateTime = new DateTime($b['datetime']); if ($aDateTime == $bDateTime) { return ($a['alldayflag'] > $b['alldayflag']) ? -1 : 1; } return ($aDateTime < $bDateTime) ? -1 : 1; } $getBeginDate = '2016-01-29'; $getEndDate = '2016-01-31'; $getCurrentDate = $getBeginDate; while(strtotime($getCurrentDate) < strtotime($getEndDate)) { usort($list[$getCurrentDate], 'sortCriteria'); $getCurrentDate = date('Y-m-d', strtotime($getCurrentDate . " +1 day")); } print_r($list);
Output for 5.5.0 - 5.5.37, 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 ( [2016-01-29] => Array ( [0] => Array ( [date] => January 29 [time] => 12:00 am [datetime] => 2016-01-29T00:00:00-06:00 [alldayflag] => 1 ) [1] => Array ( [date] => January 29 [time] => 8:30 am [datetime] => 2016-01-29T08:30:00-06:00 [alldayflag] => 0 ) [2] => Array ( [date] => January 29 [time] => 10:00 am [datetime] => 2016-01-29T10:00:00-06:00 [alldayflag] => 1 ) [3] => Array ( [date] => January 29 [time] => 10:00 am [datetime] => 2016-01-29T10:00:00-06:00 [alldayflag] => 0 ) [4] => Array ( [date] => January 29 [time] => 12:00 pm [datetime] => 2016-01-29T12:00:00-06:00 [alldayflag] => 0 ) [5] => Array ( [date] => January 29 [time] => 2:00 pm [datetime] => 2016-01-29T14:00:00-06:00 [alldayflag] => 0 ) ) [2016-01-30] => Array ( [0] => Array ( [date] => January 30 [time] => 11:00 am [datetime] => 2016-01-30T11:00:00-06:00 [alldayflag] => 0 ) [1] => Array ( [date] => January 30 [time] => 4:00 pm [datetime] => 2016-01-30T16:00:00-06:00 [alldayflag] => 0 ) [2] => Array ( [date] => January 30 [time] => 5:00 pm [datetime] => 2016-01-30T17:00:00-06:00 [alldayflag] => 1 ) [3] => Array ( [date] => January 30 [time] => 5:00 pm [datetime] => 2016-01-30T17:00:00-06:00 [alldayflag] => 0 ) ) )

preferences:
213.45 ms | 412 KiB | 265 Q