ArrayObject::uasort

(PHP 5 >= 5.2.0)

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

Описание

public void ArrayObject::uasort ( callable $cmp_function )

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

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

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

cmp_function

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

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

Эта функция не возвращает значения после выполнения.

Примеры

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

Коментарии

Note that return values between (-1, 1) are being considered as 0.
2011-09-01 15:38:20
http://php5.kiev.ua/manual/ru/arrayobject.uasort.html

    Поддержать сайт на родительском проекте КГБ