「自然な」アルゴリズムを使用して 2 つの文字列を比較します (大文字と小文字は区別されません)。
<?phpecho strnatcasecmp("2Hello world!","10Hello WORLD!");echo "<br>";echo strnatcasecmp("10Hello world!","2Hello WORLD!");?>strnatcasecmp() 関数は、「自然な」アルゴリズムを使用して 2 つの文字列を比較します (大文字と小文字は区別されません)。
自然算術では、数値 2 は数値 10 より小さいです。コンピューターの並べ替えでは、10 の最初の数値が 2 未満であるため、10 は 2 未満になります。
注: strnatcasecmp() は大文字と小文字を区別しません。
strnatcasecmp( string1,string2 )
パラメータ | 説明する |
---|---|
文字列1 | 必須。比較する最初の文字列を指定します。 |
文字列2 | 必須。比較する 2 番目の文字列を指定します。 |
戻り値: | 関数は以下を返します: 0 - 2 つの文字列が等しい場合 <0 - string1 が string2 より小さい場合 >0 - string1 が string2 より大きい場合 |
---|---|
PHPのバージョン: | 4+ |
自然アルゴリズム (strnatcmp) と従来のコンピューター文字列ソート アルゴリズム (strcmp) の違い:
<?php$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");echo "標準の文字列比較" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo "自然順序文字列比較"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>