我有一个像这样的数组:
$names = array(
"Skyler",
"Jesse",
"Walter",
"Skyler",
"Hank",
"Marie",
"Walter",
"Walter",
"Jesse",
);
Run Code Online (Sandbox Code Playgroud)
要检查数组中相等值的频率,我会将它们计算在内array_count_values.要按我使用的每个值的频率订购列表arsort:
$count = array_count_values($names);
foreach ($count as $key => $value) {
echo $value . ' – ' . $key . '<br />';
}
Run Code Online (Sandbox Code Playgroud)
所以我明白了:
3 – Walter
2 – Skyler
2 – Jesse
1 – Hank
1 – Marie
Run Code Online (Sandbox Code Playgroud)
现在我只想显示频率最高的3个值,所以Walter,Jesse和Skyler.但我不知道如何...感谢您的帮助!
尝试
$count = array_count_values($names);
arsort($count, SORT_NUMERIC);
$result = array_slice($count, 0, 3);
print_r($result);
Run Code Online (Sandbox Code Playgroud)