strnatcmp

strnatcmp -- String-Vergleich unter Verwendung einer "natürlichen Ordnung"

Beschreibung:

int strnatcmp ( string str1, string str2)

Diese Funktion implemetiert einen Vergleichsalgorithmus , der alphanumerische Zeichenketten " menschlich " ordnet (auch "natürliche Ordnung " genannt ) . Der Unterschied zwischen dieser und der regulären String-Sortierung eines Computers ( verwendet in strcmp( ) ) wird in dem folgenden Beispiel gezeigt :

 
$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)

 
;



Der o.a. Code erzeugt die 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 Pool's Natural Order String Comparison Seite.

Ähnlich anderen String-Vergleichs-Funktionen gibt diese 0 zurück , wenn str1 kleiner ist als str2 bzw . 0 , wenn str1 größer ist als str2 oder 0 , wenn sie gleich sind .

Dieser Vergleich unterscheidet Groß - und Kleinschreibung .

Siehe auch ereg( ) , strcasecmp( ) , substr( ) , stristr( ) , strcmp( ) , strncmp( ) , strncasecmp( ) , strnatcasecmp( ) , strstr( ) , natsort( ) und natcasesort( ) .