PHP如何获取一个数组中出现次数最多的元素

23

我有一个字符串数组,希望找到其中出现最频繁的字符串。

$stuff = array('orange','banana', 'apples','orange');

我想要看到橙色。


3
使用array( ... );而不是{ ... } - BoltClock
2个回答

40
$c = array_count_values($stuff); 
$val = array_search(max($c), $c);

太好了!非常感谢。 - C-H-a-P

10

使用array_count_values函数并获取元素的键:

<?php
$stuff = array('orange','banana', 'apples','orange', 'xxxxxxx');

$result = array_count_values($stuff);
asort($result);
end($result);
$answer = key($result);

echo $answer;
?>

输出:

orange

1
请注意,由于不稳定排序,如果数组中有多个元素具有相同的最高频率,则结果是不可预测的。 - BoltClock
如果你想要获取前5个结果,可以在进行arsort()之后使用array_slice()。 - Gigala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接