Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中按meridiem(AM/PM)排序时间_Php_Sorting - Fatal编程技术网

如何在PHP中按meridiem(AM/PM)排序时间

如何在PHP中按meridiem(AM/PM)排序时间,php,sorting,Php,Sorting,我有时间陪梅里迪姆(上午/下午)。 比如说, 我有时间 Array ( [0] => 11:00 AM [1] => 6:00 AM ) 所以在分类之后: Array ( [0] => 6:00 AM [1] => 11:00 AM ) 如果我有: Array ( [0] => 11:00 AM [1] => 6:00 PM ) 因此,排序将是: Array (

我有时间陪梅里迪姆(上午/下午)。 比如说,

我有时间

Array
(
    [0] => 11:00 AM
    [1] => 6:00 AM
)
所以在分类之后:

Array
(
    [0] => 6:00 AM
    [1] => 11:00 AM
)
如果我有:

Array
    (
        [0] => 11:00 AM
        [1] => 6:00 PM
    )
因此,排序将是:

Array
    (
        [0] => 11:00 AM
        [1] => 6:00 PM
    )
我试过了

排序($arr,sort\u LOCALE\u STRING)

排序($arr,sort\u NUMERIC)

但不起作用

有什么解决办法吗?谢谢。

试试这段代码

usort($array, function($a, $b) {
   return (strtotime($a) > strtotime($b));
});

使用字符串存储时间值有什么特殊原因吗?这是原始用户输入吗?否则,您永远不应该使用字符串!您是否有实时值(整数时间戳或
DateTime
对象)可供使用?我只需要获取unix时间戳,对它们进行排序,并在显示时以日期('g:ia')格式显示它们。是的,它正在工作。但如果我有两个以上的时间戳,它会起作用吗?:)但是,它将比只获取unix时间戳慢;)