Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
178 of 410 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Функция uasort

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

Функция uasort сортирует массив по значению элементов, используя для этого коллбэк для определения порядка элементов в отсортированном массиве. Функция изменяет сам массив.

Функция сравнения должна возвращать целое число, которое в зависимости от результата сравнения: меньше, равно или больше нуля.

Функция изменяет сам массив.

Синтаксис

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

Пример

Давайте отсортируем массив по возрастанию элементов:

<?php $arr = [ 'b' => 1, 'e' => 3, 'c' => 2, 'a' => 5, 'd' => 4, ]; function func($a, $b) { if ($a === $b) { return 0; } else if ($a < $b) { return -1; } else { return 1; } } uasort($arr, 'func'); var_dump($arr); ?>

Результат выполнения кода:

[ 'b' => 1, 'c' => 2, 'e' => 3, 'd' => 4, 'a' => 5, ]

Пример

А теперь отсортируем массив по возрастанию количества символов в элементах массива:

<?php $arr = [ 'a' => '123', 'b' => '1', 'c' => '12345', 'd' => '12', 'e' => '1234', ]; function func($a, $b) { if (strlen($a) === strlen($b)) { return 0; } else if (strlen($a) < strlen($b)) { return -1; } else { return 1; } } uasort($arr, 'func'); var_dump($arr); ?>

Результат выполнения кода:

[ 'b' => '1', 'd' => '12', 'a' => '123', 'e' => '1234', 'c' => '12345', ]

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

  • функцию sort,
    которая сортирует по возрастанию элементов
  • функцию rsort,
    которая сортирует по убыванию элементов
  • функцию ksort,
    которая сортирует по возрастанию ключей
  • функцию krsort,
    которая сортирует по убыванию ключей
  • функцию asort,
    которая сортирует по возрастанию элементов с сохранением ключей
  • функцию arsort,
    которая сортирует по убыванию элементов с сохранением ключей
  • функцию natsort,
    которая сортирует натуральным образом
  • функцию natcasesort,
    которая сортирует натуральным образом без регистра
  • функцию usort,
    которая сортирует по коллбэку
  • функцию uksort,
    которая сортирует по коллбэку по ключам
  • функцию uasort,
    которая сортирует по коллбэку с сохранением ключей
  • функцию array_multisort,
    которая сортирует несколько массивов
byenru