我有一个数组:
Array ( '9:00', '22:00', '12:00', '*15:00' )
我正试图这样排序:
Array ( '9:00', '12:00', '*15:00', '22:00' )
这可能吗?我试图忽略数组中的星号进行排序,但星号仍保留在元素中。
答案 0 :(得分:1)
这个怎么样:
$foo = array('9:00', '22:00', '12:00', '*15:00');
usort($foo, function($a, $b) {
$a = preg_replace('|[^\d:]|', '', $a);
$b = preg_replace('|[^\d:]|', '', $b);
return strnatcmp($a, $b);
});
print_r($foo);
输出:
Array
(
[0] => 9:00
[1] => 12:00
[2] => *15:00
[3] => 22:00
)