我有一个非关联数组,其中传入的数据未排序(我从外部系统接收数据,无法强制它按排序顺序进入数组。)有什么方法可以对值进行排序吗?我试过这个:
$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 的时间段放在上午 8:15 的时间段之后,正如它应该的那样。
UPDATE
感谢大家的回答;这确实使数组排序,但不符合预期。如果我使用默认排序类型,我会得到以下结果:
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
)
这可能吗?