PHP strnatcmp() 関数
例
自然アルゴリズムを使用して、二つの文字列を比較します(大文字小文字を区別します):
<?php echo strnatcmp("2Hello world!","10Hello world!"); echo "<br>"; echo strnatcmp("10Hello world!","2Hello world!"); ?>
定義と用法
strnatcmp() 関数は二つの文字列を比較するための「自然」アルゴリズムを使用します。
自然アルゴリズムでは、数字 2 は数字 10 より小さいです。コンピュータのソートでは、10 は 2 より小さいです。これは 10 の最初の数字が 2 より小さいからです。
注釈:この関数は大文字と小文字を区別します。
構文
strnatcmp(string1,string2)
パラメータ | 説明 |
---|---|
string1 | 必須。比較する第一の文字列を指定します。 |
string2 | 必須。比較する第二の文字列を指定します。 |
技術的詳細
返り値: |
この関数は以下を返します:
|
PHP バージョン: | 4+ |
さらに例
例 1
自然アルゴリズム(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); ?>