2013-03-24 23 views
-1

什么是最好的方式来获得数组中的前10个项目,我有一个数组有几百个项目,我想从数组中使用PHP获得前10个项目(最重复的项目),有什么建议吗?如何获得数组(PHP)中的前10项?

+5

http://www.php.net/manual/en/function.array-count-values.php – SpacedMonkey 2013-03-24 03:04:08

+0

@SpacedMonkey哈哈,谢谢!我不知道为什么我没有直接走了! : - / – 2013-03-24 03:56:49

回答

0

这应该做的伎俩:

$inputArray = array('orange','banana', 'banana', 'banana', 'pear', 'orange', 'apples','orange', 'grape', 'apple'); 

$countedArray = array_count_values($inputArray); 
arsort($countedArray); 

$topTen = array_slice($countedArray, 0, 10); 

以上将返回数组中最出现在项目的顺序。

0

尝试使用php的array_count_values()来获取数组中每个值的出现次数,并与arsort()一起按最高频率值对数组进行排序。然后,您可以使用array_slice()获得阵列的前10个最常用值。

$dataArr = array('test', 4, 15.2, ...); // Input array with all data 
$frequencies = array_count_values($dataArr); 
arsort($frequencies); // Sort by the most frequent matches first. 
$tenFrequencies = array_slice($frequencies, 0, 10, TRUE); // Only get the top 10 most frequent 
$topTenValues = array_keys($tenFrequencies); 

注:我们需要使用array_keys()获得最后的值,因为array_count_values()“返回使用输入数组作为键的值以及它们在输入作为值频率的数组。”

相关问题