Funkce usort
Funkce usort řadí pole
podle hodnot prvků, přičemž pro
určení pořadí prvků v seřazeném poli používá
callback.
Funkce mění samotné pole.
Porovnávací funkce musí vracet celé číslo, které v závislosti na výsledku porovnání: menší, rovno nebo větší než nula.
Syntaxe
usort(array &$array, callable $callback): bool
Příklad
Seřaďme pole vzestupně prvků:
<?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ýsledek provedení kódu:
[1, 2, 3, 4, 5]
Příklad
A nyní seřaďme pole sestupně prvků:
<?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ýsledek provedení kódu:
[1, 2, 3, 4, 5]
Příklad
A nyní seřaďme pole vzestupně podle počtu znaků v prvcích pole:
<?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ýsledek provedení kódu:
[
'1',
'12',
'123',
'1234',
'12345',
]
Viz také
-
funkci
sort,
která řadí vzestupně podle prvků -
funkci
rsort,
která řadí sestupně podle prvků -
funkci
ksort,
která řadí vzestupně podle klíčů -
funkci
krsort,
která řadí sestupně podle klíčů -
funkci
asort,
která řadí vzestupně podle prvků se zachováním klíčů -
funkci
arsort,
která řadí sestupně podle prvků se zachováním klíčů -
funkci
natsort,
která řadí přirozeným způsobem -
funkci
natcasesort,
která řadí přirozeným způsobem bez ohledu na velikost písmen -
funkci
usort,
která řadí pomocí callbacku -
funkci
uksort,
která řadí pomocí callbacku podle klíčů -
funkci
uasort,
která řadí pomocí callbacku se zachováním klíčů -
funkci
array_multisort,
která řadí více polí