array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.asort.php', 1 => 'asort', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функции для работы с массивами', ), 'prev' => array ( 0 => 'function.arsort.php', 1 => 'arsort', ), 'next' => array ( 0 => 'function.compact.php', 1 => 'compact', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/array/functions/asort.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
asort — Сортирует массив в порядке возрастания, сохраняя ассоциацию индексов
Сортирует массив (array
) в порядке возрастания так,
чтобы ключи массива сохраняли корреляцию со значениями, с которыми они связаны.
Функцией пользуются для сортировки ассоциативных массивов, для которых важен текущий порядок элементов.
Замечание:
Функция сохраняет первоначальный порядок элементов, если при сравнении значения двух элементов равны. До PHP 8.0.0 порядок элементов в отсортированном массиве оставался неопределённым.
Замечание:
Функция сбрасывает внутренний указатель массива на первый элемент.
array
Входной массив.
flags
Необязательный второй параметр flags
изменяет поведение сортировки и может принимать следующие значения:
Флаги типов сортировки:
SORT_REGULAR
— обычное сравнение элементов;
подробности описаны в разделе операторы сравнения
SORT_NUMERIC
— числовое сравнение элементов
SORT_STRING
— строковое сравнение элементов
SORT_LOCALE_STRING
— сравнение элементов как
строк на основе текущего языкового стандарта. Флаг использует языковой стандарт,
который можно изменить функцией setlocale()
SORT_NATURAL
— сравнение элементов как строки,
используя "естественный порядок", например natsort()
SORT_FLAG_CASE
— можно объединять
(побитовое ИЛИ) с
SORT_STRING
или
SORT_NATURAL
для сортировки строк без учёта регистра
Функция всегда возвращает true
.
Пример #1 Пример использования функции asort()
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
Результат выполнения приведённого примера:
c = apple b = banana d = lemon a = orange
Названия фруктов были отсортированы в алфавитном порядке и ключи, связанные с элементами, были сохранены.