按时间对数组进行排序,格式为xx:xx



我在下面有这个关联数组

["12:00" => "Lunch", "07:00" => "Arrival", "07:15" => "Start Tour"]

我想按时间(键(升序打印如下

7:00 => Arrival
7:15 => Start Tour
12:00 => Lunch

到目前为止,我尝试的是低于

$arr = ["12:00" => "Lunch", "07:00" => "Arrival", "07:15" => "Start Tour"];
function timecomp($a,$b)
{
// Subtracting the UNIX timestamps from each other.
// Returns a negative number if $b is a date before $a,
// otherwise positive.
return strtotime($b[0])-strtotime($a[0]);
}
uasort($arr,'timecomp');
print_r($arr);

它打印这个

Array
(
[07:15] => Start Tour
[07:00] => Arrival
[12:00] => Lunch
)

只要您的时间字符串使用24小时和前导零,您就可以使用ksort():

$a = ["12:00" => "Lunch", "07:00" => "Arrival", "07:15" => "Start Tour"];
ksort($a);
print_r($a);

结果:

Array
(
[07:00] => Arrival
[07:15] => Start Tour
[12:00] => Lunch
)

最新更新