The difference between PHP strcmp,strnatcmp,strncmp functions, strnatcmpstrncmp
string comparison description
When S1<>< span="">
When s1=s2, return value = 0
Returns a positive number when S1>S2 <>
1
PHP 2$str 1 = ' str100 '; 3 $str 2 = ' Str20 '; 4 Echo strcmp ($str 1$str 2). "
"; 5 //Output -1 6 Echo strnatcmp ($str 1$str 2). "
"; 7 //Output 1 8 Echo strncmp ($str 1$str 2, 5). "
"; 9 //Output -1 Ten ?>
The strcmp (str1, str2) function compares two strings by character, that is, two strings are compared from left to right by character (compared to the ASCII value size) until a different character occurs or a '/s ' is encountered. such as: "A" < "B" "a" > "a" "Computer" > "Compare"
The strnatcmp (str1, str2) function uses a natural sorting algorithm to compare strings This function implements a comparison algorithm that is used to sort numeric strings by human habit, which is the "natural order".
The principle of strncmp (str1, str2, len) function comparison refers to the strcmp (str1, str2) function, except that only the Len characters at the beginning of the string are compared.
PS: The above three functions are case-sensitive, if the comparison of the string is not case-sensitive, there are another three similar functions: strcasecmp,strnatcasecmp,strncasecmp.
string comparison function strcmp () and strncmp ()
Compare:
Function prototypes: extern int strcmp (const char *s1,const char * s2);
int strncmp (char *str1, char *str2, int maxlen);
Can be seen strncmp more than one parameter maxlen, the difference is here, this represents the comparison string of the first maxlen length of the character
The return values of the two are also different:
strcmp, when S1<>
When S1==s2, returns 0
Returns a positive number when S1>S2
STRNCMP: If the former maxlen byte is exactly equal, the return value is = 0;
Returns (Str1[n]-str2[n]) if str1[n] and str2[n] are not equal during the previous MaxLen byte comparison.
string comparison function strcmp () and strncmp ()
function: int strcmp (const char *S1, const char *S2)
This function is used to compare S1 and S2 strings, and this function returns a value whose symbol is related to the first comparison of different characters.
If two strings are equal, strcmp will return 0.
If S1 is a substring of S2, S1 is less than S2
There are also functions
int strncmp (const char *S1, const char *S2, size_t size)
This function is very similar to strcmp. The difference is that the STRNCMP function is a specified comparison of size characters. That is, if the string S1 is the same as the first size character of S2, the function returns a value of 0.
http://www.bkjia.com/PHPjc/887684.html www.bkjia.com true http://www.bkjia.com/PHPjc/887684.html techarticle php strcmp,strnatcmp,strncmp function differences, strnatcmpstrncmp string comparison shows that when S1s2 returns negative when S1=S2, return value = 0 when s1s2, return a positive number 1? PHP 2 $st ...