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.
比较一下:
函数原型:extern int strcmp(const char *s1,const char * s2);
int strncmp(char *str1, char *str2, int maxlen);
可以看出strncmp多一个参数maxlen,区别就在这里,这个表示的是比较字符串的前maxlen长度的字符
两者返回值也不同:
strcmp,当s1
当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。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境