PHP strnatcasecmp() 函数

实例

使用"自然"算法来比较两个字符串(不区分大小写):

  1. <?php
  2. echo strnatcasecmp("2Hello world!","10Hello WORLD!");
  3. echo "<br>";
  4. echo strnatcasecmp("10Hello world!","2Hello WORLD!");
  5. ?>

定义和用法

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

注释:strnatcasecmp() 对大小写不敏感。

语法

  1. strnatcasecmp(string1,string2)
参数 描述
string1 必需。规定要比较的第一个字符串。
string2 必需。规定要比较的第二个字符串。

技术细节

返回值: 本函数返回:
  • 0 - 如果两个字符串相等
  • <0 - 如果 string1 小于 string2
  • >0 - 如果 string1 大于 string2
  • PHP 版本: 4+

    更多实例

    例子 1

    自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的差异:

    1. <?php
    2. $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
    3. echo "Standard string comparison"."<br>";
    4. usort($arr1,"strcmp");
    5.  
    6. print_r($arr1);
    7. echo "<br>";
    8.  
    9. echo "Natural order string comparison"."<br>";
    10. usort($arr2,"strnatcmp");
    11.  
    12. print_r($arr2);
    13. ?>