strnatcmp

(PHP 4, PHP 5, PHP 7)

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

Beschreibung

strnatcmp ( string $str1 , string $str2 ) : int

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

Parameter-Liste

str1

Die erste Zeichenkette.

str2

Die zweite Zeichenkette.

Rückgabewerte

Gibt einen Wert < 0 zurück, wenn str1 in der natürlichen Sortierung vor str2 steht, einen Wert > 0, wenn str1 in der natürlichen Sortierung hinter str2 steht, und 0, wenn sie gleich sind.

Beispiele

Der Unterschied zwischen dieser und der regulären String-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 String-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 String-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 finden Sie auf Martin Pools » Natural Order String Comparison-Seite.

Siehe auch

  • preg_match() - Führt eine Suche mit einem regulären Ausdruck durch
  • strcasecmp() - Vergleich von Zeichenketten ohne Unterscheidung der Groß- und Kleinschreibung (Binary safe)
  • substr() - Gibt einen Teil eines Strings zurück
  • stristr() - Wie strstr, aber unabhängig von Groß- bzw. Kleinschreibung
  • strcmp() - Vergleich zweier Strings (Binary safe)
  • strncmp() - String-Vergleich der ersten n Zeichen (Binary safe)
  • strncasecmp() - Binärdaten-sicherer und groß- und kleinschreibungs-unabhängiger Stringvergleich der ersten n Zeichen
  • strnatcasecmp() - String-Vergleich "natürlicher Ordnung" ohne Unterscheidung der Schreibweise
  • 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