International PHP Conference Berlin 2025

ArrayObject::asort

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

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

Описание

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

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

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

Замечание:

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

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

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 Пример использования 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() - Сортирует массив в порядке возрастания, сохраняя ассоциацию индексов

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top