ArrayObject::asort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::asortСортировать записи по значению

Описание

public function ArrayObject::asort(int $flags = SORT_REGULAR): true

Сортирует элементы массива в порядке возрастания, так что его ключи сохраняют свою корреляцию со значениями, с которыми они связаны.

Используется в основном при сортировке ассоциативных массивов, где важен фактический порядок элементов.

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

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

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 Пример использования ArrayObject::asort()

<?php
$fruits
= array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach (
$fruitArrayObject as $key => $val) {
echo
"$key = $val\n";
}
?>

Результат выполнения приведённого примера:

c = apple
b = banana
d = lemon
a = orange

Названия фруктов были отсортированы в алфавитном порядке, и ключ, связанный с каждой записью, был сохранён.

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

  • ArrayObject::ksort() - Сортировать записи по ключам
  • ArrayObject::natsort() - Сортировать массив, используя алгоритм "natural order"
  • ArrayObject::natcasesort() - Сортировать массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортировать записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортировать массив по ключам, используя пользовательскую функцию для сравнения
  • asort() - Сортирует массив в порядке возрастания, сохраняя ассоциацию индексов