Home  >  Article  >  Backend Development  >  PHP uses the "natural" algorithm to compare two strings (case insensitive) with the function strnatcasecmp()

PHP uses the "natural" algorithm to compare two strings (case insensitive) with the function strnatcasecmp()

黄舟
黄舟Original
2017-11-04 11:09:292349browse

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

##PHP version: More Multiple instances
Return value: This function returns:
  • 0 - if the two strings are equal

  • ##8f029751ac12f19769820fc6523b37120 - if string1 Greater than string2

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn