<?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);
preferences:
18.81 ms | 402 KiB | 5 Q