我有一个非关联数组,其中输入的数据未排序(我从外部系统接收数据,无法强制将其按排序顺序放入数组中)。 有没有办法对这些值进行排序? 我尝试过以下方法:
$wedTrackTimes = array("9:30 AM-10:30 AM", "8:15 AM-9:15 AM", "12:30 PM-1:30 PM", "2:00 PM-3:00 PM", "3:30 PM-4:30 PM");
$wedTrackTimes = array_unique($wedTrackTimes);
$wedTrackTimes = sort($wedTrackTimes);
print_r($wedTrackTimes);
但是它返回的不是一个排序后的数组,而是1。我猜测这是因为它是非关联的,所以没有键。有没有办法仅按值对数组进行排序?我们真的需要9:30 AM时段在8:15 AM时段之后,因为它应该在后面。
更新
感谢所有回答;虽然它确实使数组排序了,但并不符合预期。如果我使用默认的排序类型,我会得到以下结果:
Array
(
[0] => 12:30 PM-1:30 PM
[1] => 2:00 PM-3:00 PM
[2] => 3:30 PM-4:30 PM
[3] => 8:15 AM-9:15 AM
[4] => 9:30 AM-10:30 AM
)
使用SORT_NUMERIC,我得到了以下结果:
Array
(
[0] => 2:00 PM-3:00 PM
[1] => 3:30 PM-4:30 PM
[2] => 8:15 AM-9:15 AM
[3] => 9:30 AM-10:30 AM
[4] => 12:30 PM-1:30 PM
)
使用 SORT_STRING 我得到了这个结果:
Array
(
[0] => 12:30 PM-1:30 PM
[1] => 2:00 PM-3:00 PM
[2] => 3:30 PM-4:30 PM
[3] => 8:15 AM-9:15 AM
[4] => 9:30 AM-10:30 AM
)
我需要的是:
Array
(
[0] => 8:15 AM-9:15 AM
[1] => 9:30 AM-10:30 AM
[2] => 12:30 PM-1:30 PM
[3] => 2:00 PM-3:00 PM
[4] => 3:30 PM-4:30 PM
)
这个可能吗?