sort

(PHP 4, PHP 5, PHP 7)

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

Описание

sort ( array &$array , int $flags = SORT_REGULAR ) : bool

Функция сортирует массив. После завершения работы функции элементы массива будут расположены в порядке возрастания.

Замечание:

Если оба сравниваемых значения эквивалентны, то порядок их в отсортированном массиве не определен.

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

array

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

flags

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

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

  • SORT_REGULAR - обычное сравнение элементов; подробности описаны в разделе операторы сравнения
  • SORT_NUMERIC - числовое сравнение элементов
  • SORT_STRING - строковое сравнение элементов
  • SORT_LOCALE_STRING - сравнение элементов как строки на основе текущего языкового стандарта. Используется языковой стандарт, который можно изменить с помощью setlocale()
  • SORT_NATURAL - сравнение элементов как строки, используя "естественный порядок", например natsort()
  • SORT_FLAG_CASE - можно объединять (побитовое ИЛИ) с SORT_STRING или SORT_NATURAL для сортировки строк без учета регистра

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

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Примеры

Пример #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().

Примечания

Замечание: Эта функция присваивает новые ключи элементам array. Она удалит все существующие ключи, а не просто переупорядочит их.

Замечание: Как и большинство функций сортировки в PHP, sort() использует реализацию алгоритма » быстрой сортировки. Основной элемент выбирается из середины сортируемой части, достигая таким образом оптимального времени для уже отсортированных массивов. Следует иметь в виду, что это является деталью реализации и не следует на нее полагаться.

Внимание

Будьте осторожны при сортировке массивов, содержащих элементы разных типов, так как в этом случае результат работы функции sort() может быть неожиданным, если параметр flags равен SORT_REGULAR.

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