Массив сортировки, содержащий строки на французском и английском - PullRequest
0 голосов
/ 26 января 2012

Проблема, с которой я столкнулся, заключается в том, что когда я вызываю метод sort () для моего массива строк, он прекрасно размечается по алфавиту, за исключением французских строк.

Это будет отсортировано так:

Atlantic Inc.
Bait Inc.
Zack's Fish Mart
Émile Fisheries Inc.

Что я могу сделать, чтобы правильно отсортировать оба языка?

Ответы [ 2 ]

1 голос
/ 26 января 2012

Правила сортировки сильно зависят от локали.Вы можете принудительно установить язык, используя флаг SORT_LOCALE_STRING:

setlocale("LC_ALL", "fr_FR.utf8"); 
sort($arraytobesorted, SORT_LOCALE_STRING);

http://php.net/manual/en/function.sort.php

1 голос
/ 26 января 2012

Это сортируется правильно.«É» следует после «Z» в вашей локали по умолчанию.

Чтобы изменить это поведение, установите второй параметр sort() на «SORT_LOCALE_STRING» и измените локаль вашей системы на ту, которая поддерживает желаемый порядок.

...