|
|
|
| Мне нужно сделать сортировку по алфавиту, но проблема в том, что эта функция сначала записывает все слова с большой буквы, а потом - с малой. То есть:
$arr=("аа", " Дг", "Аб");
asort($arr);
foreach ($arr as $val) echo "<br/>$val";
|
Я получаю:
вместо:
Как этого избежать? Может, эта функция имеет спец.флаги?
Спасибо.
Т.е. мне нужно, чтобы при сортировке просто игнорировались заглавные (большие) буквы... | |
|
|
|
|
|
|
|
для: coloboc66
(05.09.2014 в 10:49)
| | возможно вам подойдет | |
|
|
|
|
|
|
|
для: KPETuH
(05.09.2014 в 12:13)
| | Вроде подходит... Спасибо. | |
|
|
|
|
|
|
|
для: coloboc66
(05.09.2014 в 12:32)
| | Проблема с заглавными буквами решилась, но нашлась новая проблема:
буквы с надстрочными знаками (например, знаки ударения, типа é) функция отсортировывает в конец списка. А по идее é должна идти после е.
Это рещается библиотечными функциями, или нужно придумывать что-то своё? | |
|
|
|
|
|
|
|
для: coloboc66
(08.09.2014 в 16:29)
| | Без нужной кодировки, ютф8, не обойтись.
измени локаль на русскую и попробуй так: usort($arr, 'strcoll'); | |
|
|
|
|
|
|
|
для: Enter
(08.09.2014 в 16:43)
| | ютф8 я использую.
А локаль нужно на сервере менять? С помощью администратора хостинга? | |
|
|
|
|
|
|
|
для: coloboc66
(12.09.2014 в 12:58)
| | setlocale(LC_ALL, "rus_RUS"); | |
|
|
|
|
|
|
|
для: Enter
(12.09.2014 в 17:35)
| | В каком файле эту инструкцию нужно вставить7 | |
|
|
|
|
|
|
|
для: coloboc66
(18.09.2014 в 12:20)
| | откуда я знаю, какие у вас там файлы. скорее всего в необходимом скрипте. | |
|
|
|