strnatcasecmp
Comparing strings using the Natural Order algorithm (case insensitive)
strnatcasecmp()
function uses a "natural" algorithm to compare two strings.
In natural algorithms, the number 2 is smaller than the number 10. In computer sorting, 10 is less than 2, because the first number in 10 is less than 2.
Note: strnatcasecmp()
is not case sensitive.
Use the "natural" algorithm to compare two strings (case insensitive):
<?php echo strnatcasecmp ( "2Hello world!" , "10Hello WORLD!" ) ; echo "<br>" ; echo strnatcasecmp ( "10Hello world!" , "2Hello WORLD!" ) ; ?>
Try it yourself
Differences between natural algorithms (strnatcmp) and conventional computer string sorting algorithms (strcmp):
<?php $arr1 = $arr2 = array ( "pic1" , "pic2" , "pic10" , "pic01" , "pic100" , "pic20" , "pic30" , "pic200" ) ; echo "Standard string comparison" . "<br>" ; usort ( $arr1 , "strcmp" ) ; print_r ( $arr1 ) ; echo "<br>" ; echo "Natural order string comparison" . "<br>" ; usort ( $arr2 , "strnatcmp" ) ; print_r ( $arr2 ) ; ?>
Try it yourself
strnatcasecmp ( string1 , string2 )
parameter | describe |
---|---|
string1 | Required. Specifies the first string to be compared. |
string2 | Required. Specifies the second string to be compared. |