Функции для работы с массивами
PHP Manual

sort

(PHP 4, PHP 5, PHP 7)

sortСортирует массив

Описание

bool sort ( array &$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($fruitsSORT_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() может быть непредсказуемым.

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


Функции для работы с массивами
PHP Manual