strnatcmp

strnatcmp -- String vergelijking gebruikmakend van een "natural order" algoritme

Beschrijving

int strnatcmp ( string str1, string str2)

Deze functie implementeert een vergelijkingsalgoritme die alfanumerieke strings sorteert op een manier zoals een mens dat zou doen , dit is beschreven als een " natural ordering " . Een voorbeeld van het verschil tussen dit algoritme en normale computer string sorting algoritmes ( gebruikt in strcmp( ) ) kan je hieronder vinden .

 
$arr1

 
=

 
$arr2

 
=

 
array

 
(

 
"img12.png"

 
,"img10.png"

 
,"img2.png"

 
,"img1.png")

 
;

 
echo

 
"Standard

 
string

 
vergelijking\n"

 
;

 
usort($arr1

 
,"strcmp")

 
;

 
print_r($arr1)

 
;

 
echo

 
"\nNatural

 
order

 
string

 
vergelijking\n"

 
;

 
usort($arr2

 
,"strnatcmp")

 
;

 
print_r($arr2)

 
;



De code hierboven zal de volgende output genereren:
 
Standaard

 
string

 
vergelijking

 
Array

 
(

 
[0

 
]

 
=

 
img1.png

 
[1

 
]

 
=

 
img10.png

 
[2

 
]

 
=

 
img12.png

 
[3

 
]

 
=

 
img2.png

 
)

 
Natural

 
order

 
string

 
vergelijking

 
Array

 
(

 
[0

 
]

 
=

 
img1.png

 
[1

 
]

 
=

 
img2.png

 
[2

 
]

 
=

 
img10.png

 
[3

 
]

 
=

 
img12.png

 
)



Voor meer informatie zie: Martin Pool's Natural Order String Comparison page.

Vergelijkbaar met andere string vergelijking functies , retourneert deze functie 0 als str1 minder is dan str2 ; 0 als str1 groter is dan str2 , en 0 als deze gelijk zijn .

Merk op dat deze functie hoofdletter gevoelig is .

Zie ook ereg( ) , strcasecmp( ) , substr( ) , stristr( ) , strcmp( ) , strncmp( ) , strncasecmp( ) strnatcasecmp( ) , strstr( ) , natsort( ) en natcasesort( ) .