配列内の上位 10 項目を取得する最良の方法は何ですか。数百の項目を持つ配列があり、PHP を使用して配列から上位 10 項目 (最も重複した項目) を取得したいのですが、何か提案はありますか?
3503 次
2 に答える
1
これでうまくいくはずです:
$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);
上記は、出現回数が最も多いアイテムの順に配列を返します。
于 2013-03-24T03:11:52.763 に答える
0
PHP を使用array_count_values()
して、配列内の各値の出現回数を取得し、arsort()
配列を最も頻度の高い値でソートしてみてください。次に、配列の最も頻度の高い上位 10 個の値を で取得できますarray_slice()
。
$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()
于 2013-03-24T03:18:51.550 に答える