Doğal bir düzen algoritması kullanarak PHP Unicode / UTF-8 karakterleri ile bir dizi sıralamak mümkün mü? (Örneğin bu dizide emir doğru sıralanır):
$array = array
(
0 => 'Agile',
1 => 'Ágile',
2 => 'Àgile',
3 => 'Âgile',
4 => 'Ägile',
5 => 'Ãgile',
6 => 'Test',
);
Ben asort ($ array) ile çalışırsanız ben şu sonucu alırsınız:
Array
(
[0] => Agile
[6] => Test
[2] => Àgile
[1] => Ágile
[3] => Âgile
[5] => Ãgile
[4] => Ägile
)
Ve natsort ($ array) kullanarak:
Array
(
[2] => Àgile
[1] => Ágile
[3] => Âgile
[5] => Ãgile
[4] => Ägile
[0] => Agile
[6] => Test
)
Nasıl PHP 5 altında doğru sonuç sırasını (0, 1, 2, 3, 4, 5, 6) döndüren bir işlevi uygulayabilirsiniz? Tüm çoklu bayt dize fonksiyonları (mbstring, iconv, ...) benim sistemde mevcuttur.
EDIT: I want to natsort() the values, not the keys - the only reason why I'm explicitly defining the keys (and using asort() instead of sort()) is to ease the job of finding out where the sorting of unicode values yanlış gitti. Strong>