PHP

strnatcmp

strnatcmp

(PHP 4, PHP 5, PHP 7)

strnatcmp - 使用“自然顺序”算法的字符串比较

描述

int strnatcmp ( string $str1 , string $str2 )

该函数实现了一种比较算法,以人类的方式对字母数字字符串进行排序,这被称为“自然排序”。请注意,此比较区分大小写。

参数

str1

第一个字符串。

str2

第二个字符串。

返回值

与其他字符串比较函数类似,如果str1小于str2,则返回<0; 如果str1大于str2,则为0;如果相等,则为0。

例子

下面是该算法与常规计算机字符串排序算法(在strcmp()中使用)之间区别的示例:

<?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png" echo "Standard string comparison\n"; usort($arr1, "strcmp" print_r($arr1 echo "\nNatural order string comparison\n"; usort($arr2, "strnatcmp" print_r($arr2 ?>

上面的例子将输出:

Standard string comparison Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Natural order string comparison Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png )

有关更多信息,请参阅:Martin Pool »自然顺序字符串比较页面。

扩展内容

  • preg_match() - 执行正则表达式匹配

  • strcasecmp() - 二进制安全的不区分大小写的字符串比较

  • substr() - 返回字符串的一部分

  • stristr() - 不区分大小写的strstr

  • strcmp() - 二进制安全字符串比较

  • strncmp() - 前n个字符的二进制安全字符串比较

  • strncasecmp() - 对前n个字符进行二进制安全区分大小写的字符串比较

  • strnatcasecmp() - 使用“自然顺序”算法进行不区分大小写的字符串比较

  • strstr() - 查找第一次出现的字符串

  • natsort() - 使用“自然顺序”算法对数组进行排序

  • natcasesort() - 使用不区分大小写的“自然顺序”算法对数组进行排序

← strnatcasecmp

strncasecmp →