(PHP 5 >= 5.2.0, PHP 7)
ArrayObject::uasort — Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
Эта функция сортирует значения так, чтобы сохранить связь ключа и значения, при этом для сравнения элементов вызывается пользовательская функция.
Функция используется в основном при сортировке ассоциативных массивов, где реальный порядок элементов имеет большое значение.
cmp_function
Функция cmp_function
должна принимать два параметра,
которым будут присвоены значения пары элементов.
Функция сравнения должна возвращать целое число меньшее, равное или большее нуля,
если первый параметр должен быть меньше, равен или больше второго параметра.
Эта функция не возвращает значения после выполнения.
Пример #1 Пример использования ArrayObject::uasort()
<?php
// Функция сравнения
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 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 )