|
按字节比较 按字节比较字符串是最常用的方法。其中可能用到的函数为strcmp()和strcasecmp()。 这两个函数的区别为strcmp()区分字符的大小写,strcasecmp()不区分字符的大小写,两者用法基本相同。 这里只介绍strcmp(); 语法如下 int strcmp(string str1,string str2) 参数str1和参数str2为要比较的两个字符串,如果相等则返回0;如果参数str1大于str2则返回值大于0;如果参数str1小于str2则返回值小于0。 例如:
$str1="107网站工作室"; $str2="107网站工作"; echo strcmp($str1,$str2); $str3="lab"; $str4="LAB"; echo strcmp($str3,$str4); echo strcasecmp($str3,$str4); 运行结果如下: 310
按自然排序法比较 在PHP中,按照自然排序法进行字符串比较是同过strnatcmp()函数来实现的。自然排序法比较的是字符串中的数字部分,将字符串中的数字按照大小经行排序。 语法如下: int strnatcmp(string str1,string str2) strnatcmp() 函数使用一种"自然"算法来比较两个字符串。 在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。 $str1="str3.jpg"; $str2="str10.jpg"; echo "按字节比较:".strcmp($str1,$str2)."<br>"; echo "按自然排序法比较:".strnatcmp($str1,$str2)."<br>"; $str3="mrsoft1"; $str4="MRSOFT2"; echo "按字节比较:".strcmp($str3,$str4)."<br>"; echo "按自然排序法比较:".strnatcmp($str3,$str4)."<br>"; 输出结果为: 按字节比较:1 按自然排序法比较:-1 按字节比较:1 按自然排序法比较:1
$str1 = "mrsoft1";
$str2 = "MRSOFT2";
echo strnatcmp($str1,$str2); //1 因为 m 大于 M
$str1 = "mrsoft1";
$str2 = "mrsoft2";
echo strnatcmp($str1,$str2); //-1 这样才对
$str1 = "mrsoft11";
$str2 = "mrsoft2";
echo strnatcmp($str1,$str2); //1 这才是本意 11 大于 2 说明:按照自然排序进行比较时,还有一个作用与strnatcmp()函数相同,但是不区分大小写的strnatcasecmp()函数 指定从源字符串的位置比较 strncmp()函数用来比较字符串中的前n个字符,该函数区分大小写 语法如下: int strncmp(string str1,string str2,int len) 参数str1规定要比较的首个字符串。参数str2规定要比较的第二个字符串。len(必需)规定比较中所用的每个字符串的字符数。 如果相等则返回0;如果参数str1大于str2则返回值大于0;如果参数str1小于str2则返回值小于0。
例如: 运算结果为 -1
提示:该函数与 strcmp() 函数类似,不同的是,strcmp()
没有 length 参数 |