PHP strnatcasecmp() 関数

「自然」アルゴリズムを使用して2つの文字列を比較します(大文字と小文字を区別しません):

<?php
echo 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)
パラメータ 説明
string1 必須。比較するための第1つの文字列を指定します。
string2 必須。比較するための第2つの文字列を指定します。

技術的詳細

返り値:

この関数は次を返します:

  • 0 - 2つの文字列が等しい場合
  • <0 - string1 が string2 より小さい場合
  • >0 - string1 が string2 より大きい場合
PHP バージョン: 4+

さらに例

例 1

自然算法(strnatcmp)と通常のコンピュータ文字列ソートアルゴリズム(strcmp)の違い:

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");
print_r($arr1);
echo "<br>";
echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2);
?>

実行例