Funktsioon usort
Funktsioon usort sorteerib massiivi
elementide väärtuse järgi, kasutades selleks
callback-funktsiooni elementide järjestuse
määramiseks sorteeritud massiivis.
Funktsioon muudab massiivi ennast.
Võrdlusfunktsioon peab tagastama täisarvu, mis sõltuvalt võrdlustulemusest: väiksem, võrdne või suurem kui null.
Süntaks
usort(array &$array, callable $callback): bool
Näide
Sorteerime massiivi elementide kasvavas järjekorras:
<?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);
?>
Koodi täitmise tulemus:
[1, 2, 3, 4, 5]
Näide
Nüüd sorteerime massiivi elementide kahanevas järjekorras:
<?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);
?>
Koodi täitmise tulemus:
[1, 2, 3, 4, 5]
Näide
Nüüd sorteerime massiivi elementide sümbolite arvu kasvavas järjekorras:
<?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);
?>
Koodi täitmise tulemus:
[
'1',
'12',
'123',
'1234',
'12345',
]
Vaata ka
-
funktsiooni
sort,
mis sorteerib elementide kasvavas järjekorras -
funktsiooni
rsort,
mis sorteerib elementide kahanevas järjekorras -
funktsiooni
ksort,
mis sorteerib võtmete kasvavas järjekorras -
funktsiooni
krsort,
mis sorteerib võtmete kahanevas järjekorras -
funktsiooni
asort,
mis sorteerib elementide kasvavas järjekorras võtmeid säilitades -
funktsiooni
arsort,
mis sorteerib elementide kahanevas järjekorras võtmeid säilitades -
funktsiooni
natsort,
mis sorteerib loomulikus järjekorras -
funktsiooni
natcasesort,
mis sorteerib loomulikus järjekorras tõstutundlikkuseta -
funktsiooni
usort,
mis sorteerib callbacki abil -
funktsiooni
uksort,
mis sorteerib callbacki abil võtmete järgi -
funktsiooni
uasort,
mis sorteerib callbacki abil võtmeid säilitades -
funktsiooni
array_multisort,
mis sorteerib mitu massiivi