根据重复值排序PHP数组

时间:2011-08-17 10:13:53

标签: php arrays sorting duplicates

我有一个包含重复值的数组。我想对数组进行排序,以便具有最多重复项的值首先出现在行中。这是我的数组的一个例子:

array(1, 2, 3, 2, 1, 2, 2);

我想对这个数组进行排序,以便根据重复的数量对自己进行排序:

array(2, 1, 3);

'2'具有最多重复,因此它首先排序,然后值将减少重复。有谁知道我怎么能做到这一点?

2 个答案:

答案 0 :(得分:11)

 $acv=array_count_values($array); //  1=>2, 2=>3,3=>1
 arsort($acv); //save keys,           2=>3, 1=>2, 3=>1 
 $result=array_keys($acv); //get only keys   2,1,3

答案 1 :(得分:0)

  1. 遍历数组,并在另一个键值关联数组中增加OCCURENCES。
  2. 按值排序第二个数组。
  3. 获取第二个数组的array_keys。