Verwenden Sie den „natürlichen“ Algorithmus, um zwei Zeichenfolgen zu vergleichen (Groß- und Kleinschreibung beachten):
<?phpecho strnatcmp("2Hallo Welt!","10Hallo Welt!");echo "<br>";echo strnatcmp("10Hallo Welt!","2Hallo Welt!");?>Die Funktion strnatcmp() verwendet einen „natürlichen“ Algorithmus, um zwei Zeichenfolgen zu vergleichen (Groß-/Kleinschreibung beachten).
In der natürlichen Arithmetik ist die Zahl 2 kleiner als die Zahl 10. Bei der Computersortierung ist 10 kleiner als 2, weil die erste Zahl von 10 kleiner als 2 ist.
Hinweis: Bei dieser Funktion wird die Groß-/Kleinschreibung beachtet.
strnatcmp( string1,string2 )
Parameter | beschreiben |
---|---|
string1 | Erforderlich. Gibt die erste zu vergleichende Zeichenfolge an. |
string2 | Erforderlich. Gibt die zweite zu vergleichende Zeichenfolge an. |
Rückgabewert: | Die Funktion gibt Folgendes zurück: 0 – wenn die beiden Zeichenfolgen gleich sind <0 – wenn string1 kleiner als string2 ist >0 – wenn string1 größer als string2 ist |
---|---|
PHP-Version: | 4+ |
Der Unterschied zwischen dem natürlichen Algorithmus (strnatcmp) und dem herkömmlichen Computer-String-Sortieralgorithmus (strcmp):
<?php$arr1 = $arr2 = array("pic1", "pic2", "pic10", "pic01", "pic100", "pic20", "pic30", "pic200");echo "Standard-String-Vergleich" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo „String-Vergleich natürlicher Reihenfolge“.“<br>“;usort($arr2,“strnatcmp“);print_r($arr2);?>