使用"自然"算法来比较两个字符串(不区分大小写):
<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>
运行结果:
-1 1
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
注释:strnatcasecmp() 是不区分大小写的。
strnatcasecmp(string1,string2)
| 参数 | 描述 |
|---|---|
| string1 | 必需。规定要比较的第一个字符串。 |
| string2 | 必需。规定要比较的第二个字符串。 |
| 返回值: | 该函数返回:
|
|---|---|
| PHP 版本: | 4+ |
自然算法(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);
?>
运行结果:
Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )
PHP String 参考手册 在线实例
字符集 & 工具
最新更新
站点信息