【发布时间】:2012-10-11 17:46:12
【问题描述】:
我有一个如下所示的数组:
array (size=21)
0 => string '2' (length=1)
1 => string '' (length=0)
2 => string '20' (length=2)
3 => string '19' (length=2)
4 => string '14' (length=2)
5 => string '13' (length=2)
6 => string '' (length=0)
7 => null
8 => null
9 => string '20' (length=2)
10 => null
11 => string '10' (length=2)
12 => string '' (length=0)
13 => null
14 => string '13' (length=2)
15 => null
16 => string '' (length=0)
17 => null
18 => null
19 => string '' (length=0)
20 => string '20' (length=2)
我想通过对具有相同字符串的行进行分组来从该数组创建一个新数组。例如
2 => 字符串 '20' (length=2) 和 20 => 字符串 '20' (length=2) 和 9 =>字符串“20”(长度=2)
和
5 => 字符串 '13' (length=2) 与 5 => 字符串 '13' (length=2)
等等。
并根据字符串在那里出现的次数对新创建的数组行进行排序。
顺序需要从出现次数最多到最后一次,就像经典的顶级图表一样(出现次数最多的字符串在前,最少的为低)
因此,修改后的数组将如下所示:
array (size=21)
0 => string '20' (length=2)
1 => string '13' (length=2)
...
我还需要以某种方式处理空结果,例如17 => null 根本不包含在最终的数组修改结果中。
【问题讨论】:
-
看起来像个作业,自己试试看有没有问题。