1

我有这个数组:

Array ( 'jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1 )

..我想回来:

Array ('jan', 'mar')

如,找到具有最高计数的 2 个元素并将它们放入一个数组中。实现这一目标的最简单方法是什么?

4

2 回答 2

8

您可以使用max()获取最大值,并array_keys()获取包含具有该值的键的数组。

$max = array_keys($array, max($array));
于 2012-04-19T17:44:23.123 回答
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++;
}
于 2012-04-19T17:50:37.437 回答