Сортирует массив по возрастанию

# sort

(PHP 4, PHP 5, PHP 7, PHP 8)

sort — Сортирует массив по возрастанию

### Описание

function sort(array `&$array`, int `$flags` = `SORT_REGULAR`): true

Функция сортирует массив `array` на месте по значениям в порядке возрастания.

> Замечание: Функция сохраняет первоначальный порядок элементов, если при сравнении значения двух элементов равны. До PHP 8.0.0 взаимный порядок одинаковых по значению элементов в отсортированном массиве оставался неопределённым.

> Замечание: Функция присваивает новые ключи элементам массива, который передали в аргументе `array`. Функция удалит, а не просто переупорядочит ключи входного массива.

> Замечание: Функция сбрасывает внутренний указатель массива на первый элемент.

### Список параметров

`array`

  Входной массив.

`flags`
  Необязательный второй параметр `flags` изменяет поведение сортировки и принимает следующие значения:

  Флаги типов сортировки:

  - `SORT_REGULAR` — обычное сравнение элементов; подробности описаны в разделе операторы сравнения
  - `SORT_NUMERIC` — числовое сравнение элементов
  - `SORT_STRING` — строковое сравнение элементов
  - `SORT_LOCALE_STRING` — сравнение элементов как строк на основе текущего языкового стандарта. Флаг использует языковой стандарт, который доступен для изменения4 функцией setlocale()
  - `SORT_NATURAL` — сравнение элементов как строк на основе «естественного порядка» наподобие natsort()
  - `SORT_FLAG_CASE` — флаг объединяют через побитовое ИЛИ с флагом `SORT_STRING` или `SORT_NATURAL` для сортировки строк без учёта регистра

### Возвращаемые значения

Функция возвращает логическое значение `true`.

### Список изменений

Версия | Описание
--- | ---
8.2.0 | Вместо общего логического типа bool теперь возвращается конкретный тип `true`.

### Примеры

Пример #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_REGULAR` для параметра `flags` функции sort() иногда возвращает неожиданные результаты.

### Смотрите также

- rsort() - Сортирует массив в порядке убывания
- Сравнение функций сортировки массивов

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open