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 必須。比較する第二の文字列を指定します。

技術的詳細

返り値:

この関数は以下を返します:

  • 0 - 两个文字列相等
  • <0 - 以下の条件 string1 より小さい string2
  • >0 - 以下の条件 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);
?>

実行例