Home >Backend Development >PHP Tutorial >PHP uses the 'natural' algorithm to compare two strings (case insensitive) with the function strnatcasecmp()
Example
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!"); ?>
Definition and usage
strnatcasecmp() Function Uses a "natural" algorithm to compare two strings (case-insensitive).
In natural algorithms, the number 2 is less 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.
Syntax
strnatcasecmp(string1,string2)
Parameters | Description |
string1 | Required. Specifies the first string to compare. |
string2 | Required. Specifies the second string to be compared. |
Technical details
Return value: | This function returns:
|
4+ |
Example 1
The difference between the natural algorithm (
strnatcmp) and the conventional computer string sorting algorithm (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);
?>
Natural sorting strnatcmp(): This function is basically the same as the strcmp function, but the comparison principle is completely different. This function is not arranged in dictionary order, but compares strings according to "natural sorting". The so-called natural sorting It is to sort according to people's habits. For example, the strcmp function sorts. "4" will be greater than "14". In reality, the number "14" is greater than "4", so the strnatcmp function compares according to the latter. of.
The above is the detailed content of PHP uses the 'natural' algorithm to compare two strings (case insensitive) with the function strnatcasecmp(). For more information, please follow other related articles on the PHP Chinese website!