(PHP 4, PHP 5, PHP 7)
uasort — Сортирует массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей
Эта функция сортирует массив таким образом, что его индексы сохраняют отношения с элементами, с которыми ранее были ассоциированы, с помощью callback-функции, предоставленной пользователем.
Это обычно используется при сортировке ассоциативных массивов, в которых важен актуальный порядок элементов.
Замечание:
Если оба сравниваемых значения эквивалентны, то порядок их в отсортированном массиве не определен.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Простой пример использования 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);
print_r($array);
// Сортируем и выводим получившийся массив
uasort($array, 'cmp');
print_r($array);
?>
Результат выполнения данного примера:
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 )