natcasesort()

1. 定义

该函数使用与人类相同的对字母数字字符串排序的排序算法,对数组的值进行排序,并保留其键名。 成功时返回TRUE,失败则返回FALSE。

注:

  • 该函数不区分大小写
  • 当两个值在比较上相同时(如'a' == 'A'),那么这两个元素的排序则是随机的

2. 语法

natcasesort ( array &$array ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待自然排序的数组

4. 示例

<?php

// natcasesort()
// 使用与人类相同的对字母数字字符串排序的排序算法,对数组的值进行排序,并保留其键名,不区分大小写

$arr = ['file-1.php', 'file-2.php', 'file-3.php', 'File-10.php', 'File-11.php', 'File-110.php', 'FILE-1.php'];
natcasesort($arr);// 自然排序
var_dump($arr);
/* 输出:
array(7) {
  [6]=>
  string(10) "FILE-1.php"
  [0]=>
  string(10) "file-1.php"
  [1]=>
  string(10) "file-2.php"
  [2]=>
  string(10) "file-3.php"
  [3]=>
  string(11) "File-10.php"
  [4]=>
  string(11) "File-11.php"
  [5]=>
  string(12) "File-110.php"
}
*/

5. 延展阅读

  • natsort():使用与人类相同的对字母数字字符串排序的排序算法,对数组的值进行排序,并保留其键名
  • strnatcmp():将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小
  • strnatcasecmp():将字符串以自然顺序(人类对数字型字符串进行排序时惯用的比较的算法)比较两个字符串的大小(不区分大小写)