strnatcmp
「Natural Order」アルゴリズムを使用した文字列比較
「ナチュラル」アルゴリズムを使用して、2つの文字列(ケースに敏感)を比較します。
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">Echo</span> <span class="token function">Strnatcmp</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">Strnatcmp</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>
自然アルゴリズム(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">エコー</span><span class="token string double-quoted-string">「標準文字列比較」</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">エコー</span><span class="token string double-quoted-string">「ナチュラルオーダーストリングの比較」</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>