Method: 1. Use the "strcasecmp(string1,string2)" statement; 2. Use the "strncasecmp(string1,string2,length)" statement; 3. Use the "strnatcasecmp(string1,string2)" statement.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Method 1: Use strcasecmp() Function
strcasecmp() function is not case-sensitive when comparing strings. Its syntax format is as follows:
strcasecmp(string $str1, string $str2)
Among them, $str1 and $str2 are the two characters to be compared. string.
According to the comparison result, if $str1 is less than $str2, the return value< 0
; if $str1 is greater than $str2, the return value is> 0
; If $str1 is equal to $str2,0
is returned.
Website URLs are not case-sensitive, so we can use the strcasecmp() function to compare whether two URLs are the same. The sample code is as follows:
Output:
两个网址相同
Method 2: Use the strncasecmp() function
The strncasecmp() function compares two strings (not case-sensitive).
Syntax
strncasecmp(string1,string2,length)
Parameters | Description |
---|---|
string1 | Required. Specifies the first string to compare. |
string2 | Required. Specifies the second string to be compared. |
length | Required. Specifies the number of characters per string used for comparison. |
Return value: This function returns:
0
- If two strings Equality
<0
- if string1 is less than string2
##>0- if string1 is greater than string2
"; echo strncasecmp("Hello","hELLo",6); ?>
0 0
Method 3: Use strnatcasecmp() function
The 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. Syntaxstrnatcasecmp(string1,string2)
Description | |
---|---|
string1 | Required. Specifies the first string to compare.|
string2 | Required. Specifies the second string to be compared.
0- If the two strings are equal
<0- if string1 is less than string2
- if string1 is greater than string2
"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
Output:
-1 1
Natural algorithm (strnatcmp) and conventional computer string sorting algorithm ( strcmp)
"; usort($arr1,"strcmp"); print_r($arr1); echo "
"; echo "
"; echo "Natural order string comparison"."
"; usort($arr2,"strnatcmp"); print_r($arr2); ?>
Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )
Recommended learning: "
PHP Video TutorialThe above is the detailed content of How to perform case-insensitive comparison of strings in php. For more information, please follow other related articles on the PHP Chinese website!