strnatcmp
String comparison using the "natural order" algorithm
strnatcmp()
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: This function is case sensitive.
Use the "natural" algorithm to compare two strings (case sensitive):
<?php echo strnatcmp ( "2Hello world!" , "10Hello world!" ) ; echo "<br>" ; echo strnatcmp ( "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
strnatcmp ( string1 , string2 )
parameter | describe |
---|---|
string1 | Required. Specifies the first string to be compared. |
string2 | Required. Specifies the second string to be compared. |