(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Сортирует массив по возрастанию
&$array
, int $flags
= SORT_REGULAR
): true
Сортирует array
по значению в порядке возрастания.
Замечание:
Если оба сравниваемых значения эквивалентны, они сохраняют свой первоначальный порядок. До PHP 8.0.0 их относительный порядок в отсортированном массиве не был определён.
Замечание: Эта функция присваивает новые ключи элементам
array
. Она удалит все существующие ключи, а не просто переупорядочит их.
Замечание:
Сбрасывает внутренний указатель массива на первый элемент.
array
Входной массив.
flags
Необязательный второй параметр flags
может использоваться для изменения поведения сортировки с использованием следующих значений:
Флаги типа сортировки:
SORT_REGULAR
- обычное сравнение элементов;
подробности описаны в разделе операторы сравнения
SORT_NUMERIC
- числовое сравнение элементов
SORT_STRING
- строковое сравнение элементов
SORT_LOCALE_STRING
- сравнение элементов как
строки на основе текущего языкового стандарта. Используется языковой стандарт,
который можно изменить с помощью setlocale()
SORT_NATURAL
- сравнение элементов как строки,
используя "естественный порядок", например natsort()
SORT_FLAG_CASE
- можно объединять
(побитовое ИЛИ) с
SORT_STRING
или
SORT_NATURAL
для сортировки строк без учёта регистра
Функция всегда возвращает true
.
Версия | Описание |
---|---|
8.2.0 |
Тип возвращаемого значения теперь true ; ранее было bool.
|
Пример #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()
может быть неожиданным, если параметр flags
равен SORT_REGULAR
.