Funkcia usort
Funkcia usort triedi pole
podľa hodnoty prvkov, pričom na
určenie poradia prvkov v zotriedenom poli používa
callback.
Funkcia mení samotné pole.
Porovnávacia funkcia musí vrátiť celé číslo, ktoré v závislosti od výsledku porovnania: menšie, rovné alebo väčšie ako nula.
Syntax
usort(array &$array, callable $callback): bool
Príklad
Zoraďme pole vzostupne prvkov:
<?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);
?>
Výsledok vykonania kódu:
[1, 2, 3, 4, 5]
Príklad
A teraz zoraďme pole zostupne prvkov:
<?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);
?>
Výsledok vykonania kódu:
[1, 2, 3, 4, 5]
Príklad
A teraz zoraďme pole vzostupne podľa počtu znakov v prvkoch poľa:
<?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);
?>
Výsledok vykonania kódu:
[
'1',
'12',
'123',
'1234',
'12345',
]
Pozrite si tiež
-
funkciu
sort,
ktorá triedi vzostupne podľa prvkov -
funkciu
rsort,
ktorá triedi zostupne podľa prvkov -
funkciu
ksort,
ktorá triedi vzostupne podľa kľúčov -
funkciu
krsort,
ktorá triedi zostupne podľa kľúčov -
funkciu
asort,
ktorá triedi vzostupne podľa prvkov so zachovaním kľúčov -
funkciu
arsort,
ktorá triedi zostupne podľa prvkov so zachovaním kľúčov -
funkciu
natsort,
ktorá triedi prirodzeným spôsobom -
funkciu
natcasesort,
ktorá triedi prirodzeným spôsobom bez ohľadu na veľkosť písmen -
funkciu
usort,
ktorá triedi podľa callbacku -
funkciu
uksort,
ktorá triedi podľa callbacku podľa kľúčov -
funkciu
uasort,
ktorá triedi podľa callbacku so zachovaním kľúčov -
funkciu
array_multisort,
ktorá triedi viacero polí