Можно ли отсортировать массив с символами Unicode/UTF-8 в PHP с использованием алгоритма естественного порядка? Например (порядок в этом массиве правильно упорядочен):
$array = array
(
0 => 'Agile',
1 => 'Ágile',
2 => 'Àgile',
3 => 'Âgile',
4 => 'Ägile',
5 => 'Ãgile',
6 => 'Test',
);
Если я попытаюсь с asort ($ array), я получаю следующий результат:
Array
(
[0] => Agile
[6] => Test
[2] => Àgile
[1] => Ágile
[3] => Âgile
[5] => Ãgile
[4] => Ägile
)
И используя natsort ($ array):
Array
(
[2] => Àgile
[1] => Ágile
[3] => Âgile
[5] => Ãgile
[4] => Ägile
[0] => Agile
[6] => Test
)
Как я могу реализовать функцию, которая возвращает правильный результат (0, 1, 2, 3, 4, 5, 6) в PHP 5? Все многобайтовые строковые функции (mbstring, iconv,...) доступны в моей системе.
EDIT: я хочу natsort() значения, а не ключи - единственная причина, по которой я явно определяю ключи (и использование asort() вместо sort()) - облегчить работу выясняя, где сортировка значений в unicode пошла не так.