PHPstrcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHPstrcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2098字,纯文字阅读大概需要3分钟。
内容图文
![PHPstrcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程](/upload/InfoBanner/zyjiaocheng/185/d8190a4a3f1443dfbc5d8cdd38df7425.jpg)
PHP strcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp
字符串比较说明
当s1<s2时,返回为负数
当s1=s2时,返回值= 0
当s1>s2时,返回正数
1 php 2 $str1 = 'str100'; 3 $str2 = 'str20'; 4 echo strcmp($str1, $str2)."输出-1 6 echo strnatcmp($str1, $str2)."
"; 5 //
"; 7 //输出1 8 echo strncmp($str1, $str2, 5)."
"; 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.
比较一下:
函数原型:extern int strcmp(const char *s1,const char * s2);
int strncmp(char *str1, char *str2, int maxlen);
可以看出strncmp多一个参数maxlen,区别就在这里,这个表示的是比较字符串的前maxlen长度的字符
两者返回值也不同:
strcmp,当s1<s2时,返回负数
当s1==s2时,返回0
当s1>s2时,返回正数
strncmp:如果前maxlen字节完全相等,返回值就=0;
如果在前maxlen字节比较过程中,出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
函数:int strcmp (const char *s1, const char *s2)
这个函数用来比较s1和s2字符串,这个函数将返回一个值,它的符号与第一对不同的字符的比较结果相关。
如果两个字符串相等的话,strcmp将返回0。
如果s1是s2的一个子串的话,s1小于s2
此外还有函数
int strncmp (const char *s1, const char *s2, size_t size)
此函数与strcmp极为类似。不同之处是,strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。
http://www.bkjia.com/PHPjc/887684.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/887684.htmlTechArticlePHP strcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp 字符串比较说明 当s1s2时,返回为负数 当s1=s2时,返回值= 0 当s1s2时,返回正数 1 ? php 2 $st...
内容总结
以上是互联网集市为您收集整理的PHPstrcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程全部内容,希望文章能够帮你解决PHPstrcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。