PHP 8.1.0 RC 4 available for testing

ArrayObject::uasort

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

ArrayObject::uasortСортировать записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение

Описание

public ArrayObject::uasort(callable $callback): bool

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

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

Замечание:

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

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

callback

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

callback(mixed $a, mixed $b): int

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

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

Примеры

Пример #1 Пример использования ArrayObject::uasort()

<?php
// Функция сравнения
function cmp($a$b) {
    if (
$a == $b) {
        return 
0;
    }
    return (
$a $b) ? -1;
}

// Массив для сортировки
$array = array('a' => 4'b' => 8'c' => -1'd' => -9'e' => 2'f' => 5'g' => 3'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Сортировка и вывод массива
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

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

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

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

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

add a note add a note

User Contributed Notes 1 note

up
0
poxetinho at gmail dot com
10 years ago
Note that return values between (-1, 1) are being considered as 0.
To Top