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