THE WORLD'S LARGEST WEB DEVELOPER SITE

PHP strnatcasecmp() Function

❮ PHP String Reference

Example

Compare two strings using a "natural" algorithm (case-insensitive):

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
Run example »

Definition and Usage

The strnatcasecmp() function compares two strings using a "natural" algorithm.

In a natural algorithm, 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: The 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:
  • 0 - if the two strings are equal
  • <0 - if string1 is less than string2
  • >0 - if string1 is greater than string2
PHP Version: 4+

More Examples

Example 1

Difference between natural algorithm (strnatcmp) and regular 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);
?>
Run example »

❮ PHP String Reference