PHP-Funktion rsort()
In diesem Artikel besprechen wir die PHP-Funktion rsort(), ihre Syntax, Parameter und praktische Anwendungsbeispiele.
In diesem Artikel besprechen wir die PHP-Funktion rsort(), ihre Syntax, Parameter und Funktionsweise. Wir zeigen auch praktische Beispiele, wie diese Funktion in realen Szenarien eingesetzt werden kann.
Einführung
Das Sortieren ist eine wesentliche Operation beim Arbeiten mit Arrays in PHP. Die Funktion rsort() sortiert ein Array in-place in umgekehrter (absteigender) Reihenfolge nach Wert — der größte Wert landet am Index 0. Sie ist das absteigende Gegenstück zu sort() und verwirft die ursprünglichen Schlüssel, wobei das Array ab 0 neu indiziert wird.
Verwende rsort(), wenn du eine indizierte Liste (eine Bestenliste, eine Preisliste, aktuelle Zeitstempel) hast und die höchsten Werte zuerst anzeigen möchtest, ohne dass die ursprünglichen Positionen eine Rolle spielen.
Syntax
Die Syntax der Funktion rsort() lautet wie folgt:
rsort($array, $flags);Die Funktion nimmt zwei Parameter entgegen: $array und $flags. Der Parameter $array ist obligatorisch und steht für das zu sortierende Array. Der Parameter $flags ist optional und legt das Sortierverhalten fest. Er kann folgende Werte annehmen:
SORT_REGULAR: Vergleicht Elemente normal (ohne Typumwandlung)SORT_NUMERIC: Vergleicht Elemente numerischSORT_STRING: Vergleicht Elemente als ZeichenkettenSORT_LOCALE_STRING: Vergleicht Elemente als Zeichenketten auf Basis der aktuellen Systemspracheinstellungen.
Funktionsweise
Die Funktion rsort() vergleicht die Werte im Array und sortiert sie in umgekehrter Reihenfolge. Sie vergleicht jeden Wert mit dem nächsten im Array und tauscht sie aus, wenn sie nicht in der richtigen Reihenfolge sind. Dieser Vorgang wird so lange wiederholt, bis das gesamte Array sortiert ist.
Beachte, dass rsort() das ursprüngliche Array direkt verändert und einen booleschen Wert zurückgibt (true bei Erfolg, false bei Misserfolg). Außerdem werden numerische Schlüssel nach dem Sortieren sequenziell neu indiziert.
Praktische Beispiele
Schauen wir uns einige praktische Beispiele zur Verwendung der Funktion rsort() an.
Beispiel 1 – Sortieren numerischer Werte
Ausgabe:
Array
(
[0] => 20
[1] => 15
[2] => 10
[3] => 8
[4] => 5
)Beispiel 2 – Sortieren von Zeichenketten
Ausgabe:
Array
(
[0] => elderberry
[1] => date
[2] => cherry
[3] => banana
[4] => apple
)Beispiel 3 – Sortieren gemischter Werte
Ausgabe:
Array
(
[0] => cherry
[1] => banana
[2] => apple
[3] => 10
[4] => 8
[5] => 5
)Mit SORT_REGULAR werden Zeichenketten vor den Zahlen einsortiert, da PHP Werte ohne erzwungene Typumwandlung vergleicht. Beachte, dass der Vergleich gemischter Typen zu überraschenden Ergebnissen führen kann. Wenn deine Daten tatsächlich gemischt sind, verwende lieber ein explizites Flag oder einen benutzerdefinierten Vergleich mit usort().
Häufige Fallstricke
- Schlüssel gehen verloren.
rsort()indiziert das Array immer ab0neu, sodass alle vorhandenen Schlüssel (string oder numerisch) verworfen werden. Wenn du die Schlüssel-Wert-Zuordnung beibehalten möchtest, verwende stattdessenarsort(). - Es wird nach Wert, nicht nach Schlüssel sortiert. Um in umgekehrter Reihenfolge nach Schlüssel zu sortieren, verwende
krsort(). - Es verändert das ursprüngliche Array. Da
rsort()in-place arbeitet und nurtrue/falsezurückgibt, schreibe niemals$sorted = rsort($array);— das würde den boolean-Wert speichern, nicht das sortierte Array.
Verwandte Funktionen
| Funktion | Sortiert nach | Reihenfolge | Schlüssel erhalten? |
|---|---|---|---|
sort() | Wert | Aufsteigend | Nein |
rsort() | Wert | Absteigend | Nein |
asort() | Wert | Aufsteigend | Ja |
arsort() | Wert | Absteigend | Ja |
ksort() | Schlüssel | Aufsteigend | Ja |
krsort() | Schlüssel | Absteigend | Ja |
Einen umfassenderen Überblick über PHPs Sortierwerkzeuge findest du unter Arrays sortieren.
Fazit
In diesem Artikel haben wir die Funktion rsort() in PHP besprochen, ihre Syntax, Parameter und ihr Verhalten behandelt. Außerdem haben wir praktische Beispiele zum Sortieren numerischer, string- und gemischter Arrays gezeigt.
Wenn du ein Array nach seinen Werten in umgekehrter Reihenfolge sortieren möchtest, ist rsort() ein zuverlässiges eingebautes Werkzeug. Indem du sein In-place-Verhalten und die verfügbaren Flags verstehst, kannst du das Array-Sortieren in deinen PHP-Projekten effizient handhaben.