Funktionen usort
Funktionen usort sorterer et array
efter elementværdier ved at bruge en
callback-funktion til at bestemme rækkefølgen
af elementer i det sorterede array.
Funktionen ændrer selve arrayet.
Sammenligningsfunktionen skal returnere et helt tal, som afhængigt af sammenligningsresultatet: mindre end, lig med eller større end nul.
Syntaks
usort(array &$array, callable $callback): bool
Eksempel
Lad os sortere arrayet i stigende rækkefølge efter elementer:
<?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 af kodeudførelse:
[1, 2, 3, 4, 5]
Eksempel
Lad os nu sortere arrayet i faldende rækkefølge efter elementer:
<?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 af kodeudførelse:
[1, 2, 3, 4, 5]
Eksempel
Lad os nu sortere arrayet i stigende rækkefølge efter antal tegn i arrayets elementer:
<?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 af kodeudførelse:
[
'1',
'12',
'123',
'1234',
'12345',
]
Se også
-
funktionen
sort,
der sorterer i stigende rækkefølge efter elementer -
funktionen
rsort,
der sorterer i faldende rækkefølge efter elementer -
funktionen
ksort,
der sorterer i stigende rækkefølge efter nøgler -
funktionen
krsort,
der sorterer i faldende rækkefølge efter nøgler -
funktionen
asort,
der sorterer i stigende rækkefølge efter elementer med bevarelse af nøgler -
funktionen
arsort,
der sorterer i faldende rækkefølge efter elementer med bevarelse af nøgler -
funktionen
natsort,
der sorterer på naturlig vis -
funktionen
natcasesort,
der sorterer på naturlig vis uden hensyn til store og små bogstaver -
funktionen
usort,
der sorterer via callback -
funktionen
uksort,
der sorterer via callback efter nøgler -
funktionen
uasort,
der sorterer via callback med bevarelse af nøgler -
funktionen
array_multisort,
der sorterer flere arrays