php数组排序的函数有几个

PHP常用数组排序函数共8个核心函数:sort/rsort(值排序丢键)、asort/arsort(值排序保键)、ksort/krsort(键排序)、usort/uasort/uksort(自定义排序)。

PHP 中常用的数组排序函数有 **8 个核心函数**,它们按功能和适用场景可分为几类,基本覆盖所有常见排序需求。

一、按值排序(不保留键名)

这类函数会重排数组的索引,原键名丢失:

  • sort():升序,适用于索引数组
  • rsort():降序,适用于索引数组

二、按值排序(保留键名)

键值对应关系不变,只调整顺序:

  • asort():升序,保持关联键名
  • arsort():降序,保持关联键名

三、按键名排序

对数组的键(key)本身进行排序:

  • ksort():按键升序(如 a, b, c 或 0, 1, 2)
  • krsort():按键降序

四、自定义排序

当内置规则不够用时,用回调函数灵活控制:

  • usort():按值自定义排序(不保留键名)
  • uasort():按值自定义排序(保留键名)
  • uksort():按键自定义排序
注:还有 array_multisort() 可用于多维或多条件排序,但通常归为进阶用法;natsort() / natcasesort() 属于“自然排序”变种,解决 '10' 基本上就这些。选哪个主要看三点:是否要保留键名、按值还是按键排、是否需要自定义逻辑。