Funktionen usort
Funktionen usort sorterar en array
efter elementvärden genom att använda en
callback-funktion för att bestämma ordningen
på elementen i den sorterade arrayen.
Funktionen modifierar själva arrayen.
Jämförelsefunktionen måste returnera ett heltal som, beroende på jämförelseresultatet, är: mindre än, lika med eller större än noll.
Syntax
usort(array &$array, callable $callback): bool
Exempel
Låt oss sortera en array i stigande ordning av 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);
?>
Resultat av kodkörning:
[1, 2, 3, 4, 5]
Exempel
Och nu sorterar vi arrayen i fallande ordning av 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);
?>
Resultat av kodkörning:
[5, 4, 3, 2, 1]
Exempel
Och nu sorterar vi arrayen i stigande ordning av antalet tecken i arrayelementen:
<?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 kodkörning:
[
'1',
'12',
'123',
'1234',
'12345',
]
Se även
-
funktionen
sort,
som sorterar i stigande ordning av element -
funktionen
rsort,
som sorterar i fallande ordning av element -
funktionen
ksort,
som sorterar i stigande ordning av nycklar -
funktionen
krsort,
som sorterar i fallande ordning av nycklar -
funktionen
asort,
som sorterar i stigande ordning av element med bevarande av nycklar -
funktionen
arsort,
som sorterar i fallande ordning av element med bevarande av nycklar -
funktionen
natsort,
som sorterar på naturligt sätt -
funktionen
natcasesort,
som sorterar på naturligt sätt utan skiftlägeskänslighet -
funktionen
usort,
som sorterar via callback -
funktionen
uksort,
som sorterar via callback för nycklar -
funktionen
uasort,
som sorterar via callback med bevarande av nycklar -
funktionen
array_multisort,
som sorterar flera arrayer