(PHP 4, PHP 5, PHP 7, PHP 8)
uksort — Сортирует массив по ключам пользовательской функцией сравнения
На месте сортирует массив (array
) по ключам,
для чего использует пользовательскую функцию сравнения,
которая и определяет порядок.
Замечание:
Функция сохраняет первоначальный порядок элементов, если при сравнении значения двух элементов равны. До PHP 8.0.0 порядок элементов в отсортированном массиве оставался неопределённым.
Замечание:
Функция сбрасывает внутренний указатель массива на первый элемент.
array
Входной массив.
callback
Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
Функция возвращает логическое значение true
.
Версия | Описание |
---|---|
8.2.0 |
Значение возврата теперь принадлежит типу true ; раньше значение принадлежало типу bool.
|
8.0.0 |
Теперь функция выдаст ошибку уровня E_WARNING ,
если параметр callback ожидает,
что значение передадут по ссылке.
|
Пример #1 Пример использования функции uksort()
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
Результат выполнения приведённого примера:
an apple: 3 a banana: 4 the Earth: 2 John: 1