当前位置: 首页> 函数类别大全> 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>

亲自试一试