登录  /  注册

PHP strcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp_PHP教程

php中文网
发布: 2016-07-13 10:17:53
原创
1162人浏览过

php strcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp

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

<span> 1</span> <?<span>php
</span><span> 2</span> <span>$str1</span> = 'str100'<span>;
</span><span> 3</span> <span>$str2</span> = 'str20'<span>;
</span><span> 4</span> <span>echo</span> <span>strcmp</span>(<span>$str1</span>, <span>$str2</span>)."<br>"<span>;
</span><span> 5</span> <span>//输出</span><span>-1</span>
<span> 6</span> <span>echo</span> <span>strnatcmp</span>(<span>$str1</span>, <span>$str2</span>)."<br>"<span>;
</span><span> 7</span> <span>//输出</span><span>1</span>
<span> 8</span> <span>echo</span> <span>strncmp</span>(<span>$str1</span>, <span>$str2</span>, 5)."<br>"<span>;
</span><span> 9</span> <span>//输出</span><span>-1</span>
<span>10</span> 
<span>11</span> ?>
登录后复制

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

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

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

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

字符串比较函数strcmp()与strncmp()

比较一下:
函数原型:extern int strcmp(const char *s1,const char * s2);
int strncmp(char *str1, char *str2, int maxlen);
可以看出strncmp多一个参数maxlen,区别就在这里,这个表示的是比较字符串的前maxlen长度的字符

两者返回值也不同:
strcmp,当s1 当s1==s2时,返回0
当s1>s2时,返回正数
strncmp:如果前maxlen字节完全相等,返回值就=0;
如果在前maxlen字节比较过程中,出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
 

字符串比较函数strcmp()与strncmp()

函数: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。
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/887684.htmlTechArticlePHP strcmp,strnatcmp,strncmp函数的区别,strnatcmpstrncmp 字符串比较说明 当s1s2时,返回为负数 当s1=s2时,返回值= 0 当s1s2时,返回正数 1 ? php 2 $st...
智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号