W3docs

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 numerisch
  • SORT_STRING: Vergleicht Elemente als Zeichenketten
  • SORT_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

php— editable, runs on the server

Ausgabe:

Array
(
    [0] => 20
    [1] => 15
    [2] => 10
    [3] => 8
    [4] => 5
)

Beispiel 2 – Sortieren von Zeichenketten

php— editable, runs on the server

Ausgabe:

Array
(
    [0] => elderberry
    [1] => date
    [2] => cherry
    [3] => banana
    [4] => apple
)

Beispiel 3 – Sortieren gemischter Werte

php— editable, runs on the server

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 ab 0 neu, sodass alle vorhandenen Schlüssel (string oder numerisch) verworfen werden. Wenn du die Schlüssel-Wert-Zuordnung beibehalten möchtest, verwende stattdessen arsort().
  • 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 nur true/false zurückgibt, schreibe niemals $sorted = rsort($array); — das würde den boolean-Wert speichern, nicht das sortierte Array.

Verwandte Funktionen

FunktionSortiert nachReihenfolgeSchlüssel erhalten?
sort()WertAufsteigendNein
rsort()WertAbsteigendNein
asort()WertAufsteigendJa
arsort()WertAbsteigendJa
ksort()SchlüsselAufsteigendJa
krsort()SchlüsselAbsteigendJa

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.

Übungen

Übung
Was macht die Funktion rsort in PHP?
Was macht die Funktion rsort in PHP?
Was this page helpful?