当前位置: 首页> 函数类别大全> strnatcasecmp

strnatcasecmp

使用“自然顺序”算法比较字符串(不区分大小写)
名称:strnatcasecmp
分类:字符串
所属语言:php
一句话介绍:使用一种"自然排序"算法来比较两个字符串(对大小写不敏感)。

实例

例子 1

使用"自然"算法来比较两个字符串(不区分大小写):

<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">echo</span> <span class="token function">strnatcasecmp</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"2Hello world!"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"10Hello WORLD!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"<br>"</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">strnatcasecmp</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"10Hello world!"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"2Hello WORLD!"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 2

自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的差异:

<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$arr1</span> <span class="token operator">=</span> <span class="token variable">$arr2</span> <span class="token operator">=</span> <span class="token keyword">array</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"pic1"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic2"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic10"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic01"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic100"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic20"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic30"</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"pic200"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"Standard string comparison"</span><span class="token operator">.</span><span class="token string double-quoted-string">"<br>"</span><span class="token punctuation">;</span>
<span class="token function">usort</span><span class="token punctuation">(</span><span class="token variable">$arr1</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"strcmp"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$arr1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"<br>"</span><span class="token punctuation">;</span>

<span class="token keyword">echo</span> <span class="token string double-quoted-string">"Natural order string comparison"</span><span class="token operator">.</span><span class="token string double-quoted-string">"<br>"</span><span class="token punctuation">;</span>
<span class="token function">usort</span><span class="token punctuation">(</span><span class="token variable">$arr2</span><span class="token punctuation">,</span><span class="token string double-quoted-string">"strnatcmp"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$arr2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

亲自试一试

同类函数
  • 反转一个字符串 strrev

    strrev

    反转一个字符串
  • 将CSV字符串解析为数组 str_getcsv

    str_getcsv

    将CSV字符串解析为数组
  • 将字符串中每个单词的首字母转换为大写 ucwords

    ucwords

    将字符串中每个单词的首字母转换为大写
  • 二进制安全比较字符串(从偏移位置比较指定长度) substr_compare

    substr_compare

    二进制安全比较字符串(从偏移位置比较指定
  • 计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度 strspn

    strspn

    计算字符串中全部字符都存在于指定字符集合
  • 计算两个字符串之间的编辑距离 levenshtein

    levenshtein

    计算两个字符串之间的编辑距离
  • 计算文件的sha1哈希值 sha1_file

    sha1_file

    计算文件的sha1哈希值
  • 二进制安全字符串比较 strcmp

    strcmp

    二进制安全字符串比较