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 //输出-1
10 
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.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。