你如何获得数组中的前10项(PHP)?

时间:2013-03-24 03:02:26

标签: php arrays

获取数组中前10项的最佳方法是什么,我有一个包含数百项的数组,我希望使用PHP从数组中获取前10项(大多数重复项),任何建议?

2 个答案:

答案 0 :(得分: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);

上面将按照出现次数最多的项目的顺序返回数组。

答案 1 :(得分: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()“返回一个数组,使用输入数组的值作为键及其输入频率作为价值观。“