Mam niezespoloną tablicę, w której dane, które przychodzą, nie są sortowane (otrzymuję dane z zewnętrznego systemu i nie mogę wymusić, aby trafiły do tablicy w posortowanej kolejności). Czy istnieje sposób sortowania wartości? Próbowałem to:Jak sortować tablicę razy chronologicznie?
$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);
Ale zamiast wrócić posortowaną tablicę, zwraca 1. Jestem zakładając, że to dlatego, że jest non-asocjacyjne, więc nie ma żadnych kluczy. Czy istnieje sposób sortowania tablicy według wartości? Naprawdę potrzebujemy czasu 9:30 rano, aby odpadł po 8:15 rano, tak jak powinien.
UPDATE
Dzięki wszystkim za odpowiedzi; to spowodowało, że tablica została uporządkowana, ale nie zgodnie z oczekiwaniami. Jeśli używam domyślny typ sortowania, mam to:
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
)
Korzystanie SORT_NUMERIC uzyskać to:
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
)
Korzystanie SORT_STRING uzyskać to:
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
)
Co potrzebne jest:
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
)
Czy to możliwe?
Ups, nie są jeszcze zakończone. Działało, w tym sensie, że było sortowane, ale nie sortowało zgodnie z oczekiwaniami. Szczegółowe informacje można znaleźć w części OP ... – EmmyS
Wygląda na to, że potrzebujesz niestandardowej funkcji. – cwallenpoole
Pytanie zostało zaktualizowane 17 minut po wysłaniu. Następnie wyjaśniono, że standardowy rodzaj nie był wystarczający. Wymagany był rodzaj chronologiczny. Ta odpowiedź nie zapewnia pożądanego wyniku sortowania. – mickmackusa