strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcmpString-Vergleich unter Verwendung einer "natürlichen Ordnung"

Beschreibung

strnatcmp(string$string1, string$string2): int

Diese Funktion implemetiert einen Vergleichsalgorithmus, der alphanumerische Zeichenketten "menschlich" ordnet (auch "natürliche Ordnung" genannt). Es ist zu beachten, dass der Vergleich die Groß- und Kleinschreibung berücksichtigt.

Parameter-Liste

string1

Die erste Zeichenkette.

string2

Die zweite Zeichenkette.

Rückgabewerte

Ähnlich anderen Zeichenketten-Vergleichsfunktionen gibt diese Funktion -1 zurück, wenn string1 in der Reihenfolge der Sortierung vor string2 kommt, 1, wenn string1 nach string2 kommt, und 0, wenn sie gleich sind.

Changelog

VersionBeschreibung
8.2.0 Diese Funktion gibt nun -1 oder 1 zurück, wo sie vorher eine negative oder positive Zahl zurückgab.

Beispiele

Der Unterschied zwischen dieser und der regulären Zeichenketten-Sortierung eines Computers (wie sie strcmp() verwendet) wird in dem folgenden Beispiel gezeigt:

<?php
$arr1
= $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo
"Normaler Zeichenketten-Vergleich\n";
usort($arr1, "strcmp");
print_r($arr1);
echo
"\nVergleich mittels natürlicher Ordnung\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Normaler Zeichenketten-Vergleich Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Vergleich mittels natürlicher Ordnung Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png )
Weitere Informationen sind auf Martin Pools Seite » Natural Order String Comparison zu finden.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (binärsicher)
  • substr() - Liefert einen Teil eines Strings
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strcmp() - Vergleich zweier Strings (binärsicher)
  • strncmp() - String-Vergleich der ersten n Zeichen (binärsicher)
  • strncasecmp() - Binärsicherer Vergleich von Zeichenketten der ersten n Zeichen ohne Berücksichtigung der Groß- und Kleinschreibung
  • strnatcasecmp() - String-Vergleich "natürlicher Ordnung" ohne Berücksichtigung der Groß- und Kleinschreibung
  • strstr() - Findet das erste Vorkommen eines Strings
  • natsort() - Sortiert ein Array in "natürlicher Reihenfolge"
  • natcasesort() - Sortiert ein Array in "natürlicher Reihenfolge", Groß/Kleinschreibung wird ignoriert
To Top