PHP按频率排序数组中的元素

PHP按频率排序数组中的元素,php,arrays,sorting,Php,Arrays,Sorting,我有一个如下所示的数组: $recs = array(1,4,7,1,5,4,1,12,1,4,6,5); $frequencies=array("1"=>4,"4"=>3,"5"=>2,"6"=>1,"7"=>1) 我希望获取最频繁的项,然后是下一个最频繁的项,直到获取最不频繁的项,然后使用以下信息创建另一个数组: $recs = array(1,4,7,1,5,4,1,12,1,4,6,5); $frequencies=array("1"=>4,"4

我有一个如下所示的数组:

$recs = array(1,4,7,1,5,4,1,12,1,4,6,5);
$frequencies=array("1"=>4,"4"=>3,"5"=>2,"6"=>1,"7"=>1)
我希望获取最频繁的项,然后是下一个最频繁的项,直到获取最不频繁的项,然后使用以下信息创建另一个数组:

$recs = array(1,4,7,1,5,4,1,12,1,4,6,5);
$frequencies=array("1"=>4,"4"=>3,"5"=>2,"6"=>1,"7"=>1)
我如何才能做到这一点,请帮助。

您必须使用



工作起来很有魅力。非常感谢。
$recs = array(1,4,7,5,5,4,5,12,1,4,6,5);
//array_count_values — Counts all the values of an array
$recs1 = array_count_values($recs);
//to get the most frequent item followed by the next most 
//frequent item until I get to the least frequent item 
//use `arsort` — Sort an array in reverse order and maintain index association
arsort($recs1);
print_r($recs1);