sort - Сортирует массив
Вернуться к: Функции для работы с массивами
sort
(PHP 4, PHP 5, PHP 7)
sort — Сортирует массив
Описание
&$array
[, int $sort_flags
= SORT_REGULAR
] )Эта функция сортирует массив. После завершения работы функции элементы массива будут расположены в порядке возрастания.
Список параметров
-
array
-
Входной массив.
-
sort_flags
-
Дополнительный второй параметр
sort_flags
можно использовать для изменения поведения сортировки, используя следующие значения:Флаги сортировки:
-
SORT_REGULAR
- обычное сравнение элементов (без изменения типов) -
SORT_NUMERIC
- числовое сравнение элементов -
SORT_STRING
- строковое сравнение элементов -
SORT_LOCALE_STRING
- сравнивает элементы как строки с учетом текущей локали. Используется локаль, которую можно изменять с помощью функции setlocale() -
SORT_NATURAL
- сравнение элементов как строк, используя естественное упорядочение, аналогичное упорядочению в функции natsort() -
SORT_FLAG_CASE
- может быть объединен (побитовое ИЛИ) с константамиSORT_STRING
илиSORT_NATURAL
для сортировки строк без учета регистра.
-
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
5.4.0 |
Добавлена поддержка SORT_NATURAL и
SORT_FLAG_CASE в параметре sort_flags
|
5.0.2 |
Добавлена поддержка SORT_LOCALE_STRING
|
Примеры
Пример #1 Пример использования sort()
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Результат выполнения данного примера:
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
Фрукты отсортированы в алфавитном порядке.
Пример #2 Пример использования sort() с регистронезависимым естественным упорядочением
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Результат выполнения данного примера:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Фрукты были отсортированы аналогично функции natcasesort().
Примечания
Замечание: Эта функция присваивает новые ключи элементам
массива
. Она удалит все существующие ключи, а не просто переупорядочит их.
Замечание: Как и большинство функций сортировки в PHP, sort() использует реализацию алгоритма » быстрой сортировки. Основной элемент выбирается из середины сортируемой части, достигая таким образом оптимального времени для уже отсортированных массивов. Следует иметь в виду, что это является деталью реализации и на нее не следует полагаться.
Будьте осторожны при сортировке массивов, содержащих элементы разных типов, так как в этом случае результат работы функции sort() может быть непредсказуемым.
Вернуться к: Функции для работы с массивами