PHP strnatcasecmp() 函数


PHP strnatcasecmp() 函数


实例

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

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

定义和用法

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

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

注释: strnatcasecmp() 是不区分大小写的。

语法

strnatcasecmp( _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 "Standard string comparison"."<br>";  
usort($arr1,"strcmp");  

print_r($arr1);  
echo "<br>";  

echo "Natural order string comparison"."<br>";  
usort($arr2,"strnatcmp");  

print_r($arr2);  
?>