我有这个数组:
Array ( 'jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1 )
..我想回来:
Array ('jan', 'mar')
在中,找到具有最高计数的2个元素并将它们放在一个数组中。实现这一目标的最简单方法是什么?
答案 0 :(得分:8)
您可以使用max()
获取最大值,使用array_keys()
获取包含具有该值的键的数组。
$max = array_keys($array, max($array));
答案 1 :(得分:2)
嗯,当你需要得到固定数量的顶值时,这个就可以了。
$array = array( 'jan' => 2 'feb' => 1 'mar' => 2 'apr' => 1 );
arsort($array);
$i = 0;
$max = 2;
$newArray = Array();
foreach($array as $key => $value)
{
if ($i < $max)
{
$newArray[] = $key;
}
$i++;
}