ArrayIterator::uasort

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

ArrayIterator::uasortСортировка с помощью заданной пользователем функции и сохранением ключей

Описание

public ArrayIterator::uasort(callable $callback): true

Сортирует записи в массиве по значениям, используя функцию сортировки, определённую пользователем и сохраняя связь ключ-значение.

Замечание:

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

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

callback

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

callback(mixed $a, mixed $b): int
Предостережение

Возвращение нецелых значений из функции сравнения, таких как число с плавающей точкой (float), приведёт к внутреннему приведению возвращаемого значения callback-функции к целому числу (int). Таким образом, значения 0.99 и 0.1 будут приведены к целочисленному значению 0, что позволит сравнить эти значения как равные.

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

Функция всегда возвращает true.

Список изменений

Версия Описание
8.2.0 Тип возвращаемого значения теперь true; ранее было bool.

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

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

add a note add a note

User Contributed Notes 1 note

up
1
Massimiliano Arione
9 years ago
Even if documentation says that $cmp_function must be a string, this method works with a Callable also.
Example:

<?php

$iterator
->uasort([$this, 'usort']);  // 'usort' here is a method in the same class
To Top