PHP strnatcasecmp()Functions
Examples
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!");
?>
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
Run Example »
Definition and Usage
The strnatcasecmp() function uses a "natural" algorithm to compare two strings (case-insensitive).
In the natural algorithm, the number 2 is less than the number 10. In computer sorting, 10 is less than 2, because the first digit in 10 is less than 2.
Note:strnatcasecmp() is case-insensitive.
Syntax
strnatcasecmp(string1,string2)
| Parameter | Description |
|---|---|
| string1 | Required. Specifies the first string to compare. |
| string2 | Required. Specifies the second string to compare. |
Technical Details
| Return Value: | This function returns:
|
|---|---|
| PHP Version: | 4+ |
More Examples
Example 1
The difference between the natural algorithm (strnatcmp) and the regular 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);
?>
$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);
?>
Run Example »
PHP String Reference Manual Other Extensions