Verwenden Sie den „natürlichen“ Algorithmus, um zwei Zeichenfolgen zu vergleichen (ohne Berücksichtigung der Groß- und Kleinschreibung):
<?phpecho strnatcasecmp("2Hallo Welt!","10Hallo WELT!");echo "<br>";echo strnatcasecmp("10Hallo Welt!","2Hallo WELT!");?>Die Funktion strnatcasecmp() verwendet einen „natürlichen“ Algorithmus zum Vergleichen zweier Zeichenfolgen (ohne Berücksichtigung der Groß-/Kleinschreibung).
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 strnatcasecmp() wird die Groß-/Kleinschreibung nicht beachtet.
strnatcasecmp( 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 Ordnung"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>