Zum Inhalt springen

Strings in natürlicher Reihenfolge in PHP sortieren

Wenn Sie in PHP mit Strings arbeiten, die Zahlen enthalten, müssen diese oft in einer natürlichen Reihenfolge sortiert werden, die den numerischen Wert der Ziffern berücksichtigt. Zum Beispiel sollten die Strings „10 apples“, „2 oranges“ und „100 bananas“ in der Reihenfolge „2 oranges“, „10 apples“ und „100 bananas“ sortiert werden, nicht in der alphabetischen Reihenfolge „10 apples“, „100 bananas“ und „2 oranges“. Um dieses Ziel zu erreichen, können Sie die Funktion natsort() in PHP verwenden, eine integrierte Funktion, die ein Array mit einem Algorithmus für die natürliche Sortierung sortiert.

Was ist natürliche Sortierung?

Die natürliche Sortierung, auch alphanumerische Sortierung genannt, ist ein Sortieralgorithmus, der Zahlen in Strings als numerische Werte und nicht als einzelne Zeichen behandelt. Das bedeutet, dass der String „100“ als größer als der String „2“ gilt, obwohl das Zeichen „2“ in der ASCII-Tabelle nach dem Zeichen „1“ kommt. Die natürliche Sortierung ist nützlich beim Umgang mit Strings, die Zahlen enthalten, da sie die logische Reihenfolge der Werte beibehält.

So verwenden Sie die Funktion natsort()

Die Funktion natsort() in PHP sortiert ein Array mit einem Algorithmus für die natürliche Reihenfolge. Die Funktion erwartet ein einzelnes Argument, nämlich das zu sortierende Array, und gibt true zurück, wenn die Sortierung erfolgreich ist, andernfalls false. Hier ist ein Beispiel für die Verwendung der Funktion natsort():


php
$fruits = array("10 apples", "2 oranges", "100 bananas");
natsort($fruits);
print_r($fruits);

Die Ausgabe dieses Codes lautet:


php
Array
(
    [1] => 2 oranges
    [0] => 10 apples
    [2] => 100 bananas
)

Wie Sie sehen können, sortiert die Funktion natsort() das Array in einer natürlichen Reihenfolge, die den numerischen Wert der Ziffern in den Strings berücksichtigt.

Einschränkungen und Grenzen

Obwohl die natürliche Sortierung eine nützliche Funktion in PHP ist, gibt es einige Einschränkungen und Grenzen, die Sie beachten sollten. Erstens ist die Funktion natsort() case-sensitiv (Groß-/Kleinschreibung wird unterschieden), was bedeutet, dass Großbuchstaben in der Sortierreihenfolge vor Kleinbuchstaben kommen. Zweitens funktioniert die Funktion natsort() nur mit Arrays und nicht mit anderen Datenstrukturen wie Strings oder Objekten. Wenn Sie einen String oder ein Objekt in natürlicher Reihenfolge sortieren müssen, müssen Sie es zuerst in ein Array umwandeln.

Fazit

In diesem Artikel haben wir gelernt, wie man Strings in natürlicher Reihenfolge in PHP mit der Funktion natsort() sortiert. Wir haben gesehen, dass die natürliche Sortierung ein nützlicher Algorithmus für den Umgang mit Strings ist, die Zahlen enthalten, und dass die Funktion natsort() eine integrierte Funktion in PHP ist, die diese Aufgabe effizient ausführen kann. Wir haben außerdem einige Einschränkungen und Grenzen der natürlichen Sortierung in PHP besprochen, wie etwa die Unterscheidung von Groß- und Kleinschreibung und die Beschränkung auf Arrays. Durch die Anwendung des in diesem Artikel vorgestellten Wissens und der Techniken können Sie Ihre Strings in einer natürlichen Reihenfolge sortieren, die den numerischen Wert der Ziffern berücksichtigt, und so die Lesbarkeit und Benutzerfreundlichkeit Ihres Codes verbessern.

Praxis

Was macht die Funktion natsort() in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.