Functie usort
De functie usort sorteert een array
op waarde van de elementen, waarbij een
callback wordt gebruikt om de volgorde
van elementen in de gesorteerde array te bepalen.
De functie wijzigt de array zelf.
De vergelijkingsfunctie moet een geheel getal retourneren, dat afhankelijk van het vergelijkingsresultaat: kleiner dan, gelijk aan of groter dan nul is.
Syntaxis
usort(array &$array, callable $callback): bool
Voorbeeld
Laten we een array sorteren in oplopende volgorde van elementen:
<?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);
?>
Resultaat van de code-uitvoering:
[1, 2, 3, 4, 5]
Voorbeeld
Laten we nu een array sorteren in aflopende volgorde van elementen:
<?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);
?>
Resultaat van de code-uitvoering:
[1, 2, 3, 4, 5]
Voorbeeld
Laten we nu een array sorteren op oplopende aantal tekens in de array-elementen:
<?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);
?>
Resultaat van de code-uitvoering:
[
'1',
'12',
'123',
'1234',
'12345',
]
Zie ook
-
functie
sort,
die sorteert op oplopende volgorde van elementen -
functie
rsort,
die sorteert op aflopende volgorde van elementen -
functie
ksort,
die sorteert op oplopende volgorde van sleutels -
functie
krsort,
die sorteert op aflopende volgorde van sleutels -
functie
asort,
die sorteert op oplopende volgorde van elementen met behoud van sleutels -
functie
arsort,
die sorteert op aflopende volgorde van elementen met behoud van sleutels -
functie
natsort,
die op natuurlijke wijze sorteert -
functie
natcasesort,
die op natuurlijke wijze sorteert zonder hoofdlettergevoeligheid -
functie
usort,
die sorteert op callback -
functie
uksort,
die sorteert op callback voor sleutels -
functie
uasort,
die sorteert op callback met behoud van sleutels -
functie
array_multisort,
die meerdere arrays sorteert