这是一个多维数组,我从google日历中获得,用于显示事件。
Array
(
[items] => Array
(
[0] => Array
(
[status] => confirmed
[summary] => Let's go swimming!
[start] => Array
(
[dateTime] => 2011-12-30T09:00:00-05:00
)
[end] => Array
(
[dateTime] => 2011-12-30T10:00:00-05:00
)
)
[1] => Array
(
[status] => confirmed
[summary] => red wine
[start] => Array
(
[dateTime] => 2011-12-28T06:00:00-05:00
)
[end] => Array
(
[dateTime] => 2011-12-28T07:00:00-05:00
)
)
[2] => Array
(
[status] => confirmed
[summary] => Christmas
[start] => Array
(
[dateTime] => 2011-12-28T09:30:00-05:00
)
[end] => Array
(
[dateTime] => 2011-12-28T10:30:00-05:00
)
)
)
)
我想使用php按end[datetime]排序。如果有人能帮我,我会非常感激的。我想知道怎么做。
最佳答案
usort($array['items'], function($a, $b){
if ($a['end']['dateTime'] === $b['end']['dateTime']) return 0;
else return ($a['end']['dateTime'] > $b['end']['dateTime']) ? -1 : 1;
});
();
在这种特殊情况下,您可以比较日期作为字符串,并得到正确的答案,因为格式。在其他一些情况下,您可能需要其他方法,例如转换为unix时间戳并进行比较。