PHP:按值长度对数组进行排序

标签 php arrays sorting

我正在尝试按每个值中字符的长度对数组进行排序(如果可能的话,如果两个值具有相同的字符长度,则可能按字母顺序排列)。例如:

Array ( [0] => this [1] => is [2] => a [3] => bunch [4] => of [5] => words;

我正在尝试对这个数组进行排序,使其看起来像:

Array ( [0] => a [1] => is [2] => of [3] => this [4] => bunch [5] => words;

如何?

最佳答案

应该这样做:

array_multisort(array_map('strlen', $array), $array);
  • 使用array_map()映射strlen()获取数组中每个字符串的长度
  • 对字符串长度进行排序,并使用 array_multisort()
  • 按字符串长度排序的数组对原始数组进行排序

关于PHP:按值长度对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874734/

相关文章:

php - 如何阻止人们向 PHP API 发出大量请求?

arrays - 使用 StructScan 将 postgresql 数组放入结构中

c - 堆排序 heapify

java - 测试我的堆

PHP、MySQL、数据库

php - Doctrine 2 与关联的继承映射

php - PHP5 中可以访问文件系统的函数的完整列表是什么?

arrays - 如何在 golang 中给 Json 数组一个标识符

javascript - For循环仅将数组的最后一个值分配给事件监听器

arrays - 对作为哈希值的数组的数组进行排序