Функция uasort
Функция uasort
сортирует массив
по возрастанию элементов, сохраняя
ключи ассоциативного массива.
Функция uasort
сортирует массив
по значению элементов, используя для
этого коллбэк для определения порядка
элементов в отсортированном массиве.
Функция изменяет сам массив.
Функция сравнения должна возвращать целое число, которое в зависимости от результата сравнения: меньше, равно или больше нуля.
Функция изменяет сам массив.
Синтаксис
uasort(array &$array, int $flags = SORT_REGULAR): bool
Пример
Давайте отсортируем массив по возрастанию элементов:
<?php
$arr = [
'b' => 1,
'e' => 3,
'c' => 2,
'a' => 5,
'd' => 4,
];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Результат выполнения кода:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
Пример
А теперь отсортируем массив по возрастанию количества символов в элементах массива:
<?php
$arr = [
'a' => '123',
'b' => '1',
'c' => '12345',
'd' => '12',
'e' => '1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Результат выполнения кода:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
Смотрите также
-
функцию
sort
,
которая сортирует по возрастанию элементов -
функцию
rsort
,
которая сортирует по убыванию элементов -
функцию
ksort
,
которая сортирует по возрастанию ключей -
функцию
krsort
,
которая сортирует по убыванию ключей -
функцию
asort
,
которая сортирует по возрастанию элементов с сохранением ключей -
функцию
arsort
,
которая сортирует по убыванию элементов с сохранением ключей -
функцию
natsort
,
которая сортирует натуральным образом -
функцию
natcasesort
,
которая сортирует натуральным образом без регистра -
функцию
usort
,
которая сортирует по коллбэку -
функцию
uksort
,
которая сортирует по коллбэку по ключам -
функцию
uasort
,
которая сортирует по коллбэку с сохранением ключей -
функцию
array_multisort
,
которая сортирует несколько массивов