У меня есть массив, который содержит имена языков на испанском языке:Отсортировать массив со специальными символами в PHP
$lang["ko"] = "coreano"; //korean
$lang["ar"] = "árabe"; //arabic
$lang["es"] = "español"; //spanish
$lang["fr"] = "francés"; //french
Мне нужно заказать массив и сохранять индекс ассоциации, поэтому я использую asort() с SORT_LOCALE_STRING
setlocale(LC_ALL,'es_ES.UTF-8'); //this is at the beginning (config file)
asort($lang,SORT_LOCALE_STRING);
print_r($lang);
ожидаемый результат будет в следующем порядке:
- Array ([ар] => ARABE [ко] => Coreano [исп] => español [фр] => Francés)
Однако, это то, что я получаю:
- Array ([ко] => Coreano [исп] => español [фр] => Francés [ар] => ARABE)
ли я что-то отсутствует? Спасибо за ваш отзыв! (Мой сервер использует PHP версии 5.2.13)
Дикая догадка: возможно, потому что 'c' доходит до' ''? –
Вот почему я использую SORT_LOCALE_STRING. '' должен прийти после 'a' и до 'c'. – andufo
ОК, удачи :) –