我需要按时间对这个php数组进行排序。AM-PM格式
我有这个阵列:我需要按时间对这个php数组进行排序。AM-PM格式,php,arrays,sorting,time,Php,Arrays,Sorting,Time,我有这个阵列: Array ( [0] => Array ( [0] => Array ( [title] => Vinyasa Yoga [start_time] => 06:45 PM [end_time] => 08:15 PM
Array
(
[0] => Array
(
[0] => Array
(
[title] => Vinyasa Yoga
[start_time] => 06:45 PM
[end_time] => 08:15 PM
[instructor] => Jock
[level] => All Levels
)
)
[1] => Array
(
[0] => Array
(
[title] => Yoga FUNdamentals
[start_time] => 05:30 PM
[end_time] => 06:30 PM
[instructor] => Jock
[level] => Beginners
)
)
)
我需要按时间对该数组进行排序,以便从最早到最晚显示结果
我应该怎么做?您可以使用
例如:
$array = array(
array(
array(
"title" => "Vinyasa Yoga",
"start_time" => "06:45 PM",
"end_time" => "08:15 PM",
"instructor" => "Jock",
"level" => "All Levels"
)
),
array(
array(
"title" => "Yoga FUNdamentals",
"start_time" => "05:30 PM",
"end_time" => "06:30 PM",
"instructor" => "Jock",
"level" => "Beginners"
)
)
);
function cmp($a, $b)
{
$aDateTime = new DateTime($a[0]["start_time"]);
$bDateTime = new DateTime($b[0]["start_time"]);
return $aDateTime > $bDateTime ? 1 : -1;
};
usort($array, "cmp");
print_r($array);
将导致:
Array
(
[0] => Array
(
[0] => Array
(
[title] => Yoga FUNdamentals
[start_time] => 05:30 PM
[end_time] => 06:30 PM
[instructor] => Jock
[level] => Beginners
)
)
[1] => Array
(
[0] => Array
(
[title] => Vinyasa Yoga
[start_time] => 06:45 PM
[end_time] => 08:15 PM
[instructor] => Jock
[level] => All Levels
)
)
)
这太完美了!非常感谢。我搜索了几个小时寻找这个结果,我忘记了$a和$b变量末尾的[0]。