ホームページ  >  記事  >  バックエンド開発  >  PHP は「自然な」アルゴリズムを使用して、関数 strnatcasecmp() で 2 つの文字列 (大文字と小文字を区別しない) を比較します。

PHP は「自然な」アルゴリズムを使用して、関数 strnatcasecmp() で 2 つの文字列 (大文字と小文字を区別しない) を比較します。

黄舟
黄舟オリジナル
2017-11-04 11:09:292295ブラウズ

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

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

定義と使用法

strnatcasecmp() 関数 「自然な」アルゴリズム String (大文字と小文字を区別しない) を使用して 2 つの文字を比較します。

自然算術では、数値 2 は数値 10 より小さいです。コンピューターの並べ替えでは、10 の最初の数値が 2 未満であるため、10 は 2 未満になります。

注: strnatcasecmp() は大文字と小文字を区別しません。

構文

strnatcasecmp(string1,string2)
パラメータ 説明
string1 必須。比較する最初の文字列を指定します。
string2 必須。比較する 2 番目の文字列を指定します。

技術的な詳細

戻り値: 関数は次を返します:
  • 0 - 2つの文字列が等しい場合

  • <0 - string1がstring2より小さい場合

  • &g t; ​​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);
?>

自然なソート strnatcmp(): この関数は基本的に strcmp 関数と同じですが、比較原理が完全に異なります。この関数は辞書順に並べられていません。自然ソート" 比較文字列。いわゆる自然ソートとは、人々の習慣に従ってソートすることです。たとえば、strcmp 関数を使用してソートすると、"4" は "14" より大きくなりますが、実際には " 14" は "4" より大きいため、strnatcmp 関数は後者に基づいて比較されます。

以上がPHP は「自然な」アルゴリズムを使用して、関数 strnatcasecmp() で 2 つの文字列 (大文字と小文字を区別しない) を比較します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。