Funksjonen usort
Funksjonen usort sorterer en array
etter verdien til elementene, og bruker en
callback for å bestemme rekkefølgen
til elementene i den sorterte arrayen.
Funksjonen endrer selve arrayen.
Sammenligningsfunksjonen må returnere et heltall, som avhengig av sammenligningsresultatet: mindre enn, lik eller større enn null.
Syntaks
usort(array &$array, callable $callback): bool
Eksempel
La oss sortere arrayen i stigende rekkefølge av elementene:
<?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);
?>
Resultat av kjøring av koden:
[1, 2, 3, 4, 5]
Eksempel
La oss nå sortere arrayen i synkende rekkefølge av elementene:
<?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);
?>
Resultat av kjøring av koden:
[1, 2, 3, 4, 5]
Eksempel
La oss nå sortere arrayen i stigende rekkefølge av antall tegn i elementene i arrayen:
<?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);
?>
Resultat av kjøring av koden:
[
'1',
'12',
'123',
'1234',
'12345',
]
Se også
-
funksjonen
sort,
som sorterer i stigende rekkefølge av elementer -
funksjonen
rsort,
som sorterer i synkende rekkefølge av elementer -
funksjonen
ksort,
som sorterer i stigende rekkefølge av nøkler -
funksjonen
krsort,
som sorterer i synkende rekkefølge av nøkler -
funksjonen
asort,
som sorterer i stigende rekkefølge av elementer med bevaring av nøkler -
funksjonen
arsort,
som sorterer i synkende rekkefølge av elementer med bevaring av nøkler -
funksjonen
natsort,
som sorterer på naturlig måte -
funksjonen
natcasesort,
som sorterer på naturlig måte uten hensyn til store/små bokstaver -
funksjonen
usort,
som sorterer via callback -
funksjonen
uksort,
som sorterer via callback for nøkler -
funksjonen
uasort,
som sorterer via callback med bevaring av nøkler -
funksjonen
array_multisort,
som sorterer flere arrays