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


(PHP 5 >= 5.2.0)

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

Описание

public void ArrayObject::uksort ( callable $cmp_function )

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

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

cmp_function

Callback-функция, используемая для сравнения.

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

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

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

Примеры

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

<?php
function cmp($a$b) {
    
$a preg_replace('@^(a|an|the) @'''$a);
    
$b preg_replace('@^(a|an|the) @'''$b);
    return 
strcasecmp($a$b);
}

$array = array("John" => 1"the Earth" => 2"an apple" => 3"a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach (
$arrayObject as $key => $value) {
    echo 
"$key$value\n";
}
?>

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

 an apple: 3 a banana: 4 the Earth: 2 John: 1 

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

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