首页 > 代码库 > PHP strcmp,strnatcmp,strncmp函数的区别

PHP strcmp,strnatcmp,strncmp函数的区别

字符串比较说明
当s1<s2时,返回为负数
当s1=s2时,返回值= 0
当s1>s2时,返回正数

 1 <?php 2 $str1 = ‘str100‘; 3 $str2 = ‘str20‘; 4 echo strcmp($str1, $str2)."<br>"; 5 //输出-1 6 echo strnatcmp($str1, $str2)."<br>"; 7 //输出1 8 echo strncmp($str1, $str2, 5)."<br>"; 9 //输出-110 11 ?>

strcmp(str1, str2)函数按照字符比较两个字符串,即两个字符串自左向右逐个字符比较(按ASCII值大小相比较),直到出现不同的字符或遇‘\0‘为止。如:"A"<"B" "a">"A" "computer">"compare"

strnatcmp(str1, str2)函数使用自然排序算法比较字符串该函数实现了以人类习惯对数字型字符串进行排序的比较算法,这就是“自然顺序”。

strncmp(str1, str2, len)函数比较的原理参照strcmp(str1, str2)函数,区别在于只是比较字符串的开头的len个字符。

ps:以上三个函数都是区分大小写的,若是对比较的字符串不区分大小写,则有另外三个类似函数:strcasecmp,strnatcasecmp,strncasecmp.

PHP strcmp,strnatcmp,strncmp函数的区别