php使用"自然"算法来比较两个字符串(不区分大小写)的函数strnatcasecmp()
程序员文章站
2022-04-07 11:55:56
...
实例
使用"自然"算法来比较两个字符串(不区分大小写):
<?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 | 必需。规定要比较的第二个字符串。 |
技术细节
返回值: | 该函数返回:
|
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()的详细内容,更多请关注其它相关文章!