用键作为时间对数组进行排序,格式为xx:xx

时间:2018-07-18 18:08:41

标签: php

我下面有这个关联数组

["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
)

1 个答案:

答案 0 :(得分:7)

只要您的时间字符串使用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
)