Funktion usort
Die Funktion usort
sortiert ein Array
nach den Werten der Elemente und verwendet dazu
einen Callback, um die Reihenfolge
der Elemente im sortierten Array zu bestimmen.
Die Funktion verändert das Array selbst.
Die Vergleichsfunktion muss eine ganze Zahl zurückgeben, die abhängig vom Vergleichsergebnis: kleiner, gleich oder größer null ist.
Syntax
usort(array &$array, callable $callback): bool
Beispiel
Lassen Sie uns ein Array in aufsteigender Reihenfolge der Elemente sortieren:
<?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);
?>
Ergebnis der Codeausführung:
[1, 2, 3, 4, 5]
Beispiel
Nun sortieren wir ein Array in absteigender Reihenfolge der Elemente:
<?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);
?>
Ergebnis der Codeausführung:
[1, 2, 3, 4, 5]
Beispiel
Nun sortieren wir ein Array nach aufsteigender Anzahl der Zeichen in den 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);
?>
Ergebnis der Codeausführung:
[
'1',
'12',
'123',
'1234',
'12345',
]
Siehe auch
-
die Funktion
sort
,
die nach aufsteigenden Elementwerten sortiert -
die Funktion
rsort
,
die nach absteigenden Elementwerten sortiert -
die Funktion
ksort
,
die nach aufsteigenden Schlüsseln sortiert -
die Funktion
krsort
,
die nach absteigenden Schlüsseln sortiert -
die Funktion
asort
,
die nach aufsteigenden Elementwerten unter Beibehaltung der Schlüssel sortiert -
die Funktion
arsort
,
die nach absteigenden Elementwerten unter Beibehaltung der Schlüssel sortiert -
die Funktion
natsort
,
die auf natürliche Weise sortiert -
die Funktion
natcasesort
,
die auf natürliche Weise ohne Beachtung der Groß-/Kleinschreibung sortiert -
die Funktion
usort
,
die nach einem Callback sortiert -
die Funktion
uksort
,
die nach einem Callback nach Schlüsseln sortiert -
die Funktion
uasort
,
die nach einem Callback unter Beibehaltung der Schlüssel sortiert -
die Funktion
array_multisort
,
die mehrere Arrays sortiert