strcasecmp:二进制安全比较字符串(不区分大小写)。接受两个要进行比较的字符串,如果第一个字符串小于、等于或大于第二个字符串则返回一个小于、等于或大于0的整型值。
strcmp:二进制安全字符串比较,与strcasecmp唯一不同的就是区分大小写。
strcoll:基于区域设置的字符串比较,与strcmp函数唯一的不同就是该函数不是二进制安全的。
strnatcasecmp:使用自然顺序算法比较字符串(不区分大小写)。
strnatcmp:使用自然排序算法比较字符串,与strnatcasecmp唯一不同的就是区分大小写。
strncasecmp:二进制安全比较字符串开头的若干个字符(不区分大小写),接受三个参数,前两个参数为要进行比较的字符串,第三个参数为最大比较长度。
strncmp:二进制安全比较字符串开头的若干个字符,与strncasecmp唯一不同的就是区分大小写。
substr_compare:二进制安全比较字符串(从偏移位置比较指定长度),接受五个参数,前两个为要进行比较的字符串,第三个参数为必需的偏移位置,第四个为可选的从偏移位置起比较的长度,第五个参数为可选的标记,表示是否区分大小写,如果为true则不区分大小写,默认为false。如果第一个字符串从指定偏移位置起的子字符串小于、等于或大于第二个字符串则返回一个小于、等于或大于0的整型值。如果偏移位置大于第一个字符串长度,或者长度小于1,会产生警告并返回false。如果偏移位置为负数,则从字符串右边开始计算偏移位置。
<?php
echo strcasecmp("abc","aBv")."\n";
echo strcmp("abc","aBv")."\n";
echo strcoll("ab\0c","ab\0d")."\n";
echo strcasecmp("a2","A10")."\n";
echo strnatcasecmp("a2","A10")."\n";
echo strncasecmp("a2","A10",1)."\n";
echo strnatcmp("a2","A10")."\n";
echo strncmp("a21","a22",2)."\n";
echo substr_compare("abcdefg","cD",2,2,true)."\n";
echo substr_compare("abcdefg","cD",2,2,false)."\n";
echo substr_compare("abcdefg","cD",-5,2,true)."\n";
echo substr_compare("abcdefg","cD",-5,0,false)."\n";
?>