<?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