Php 基于值获取关联数组的元素

Php 基于值获取关联数组的元素,php,Php,我有这个阵列: Array ( 'jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1 ) …我想返回: Array ('jan', 'mar') 如中所示,找到计数最高的2个元素并将它们放入一个数组中。实现这一点的最简单方法是什么?您可以使用该方法获取最大值,并获取包含具有该值的键的数组 $max = array_keys($array, max($array)); 可以使用获取最大值,并获取包含具有该值的键的数组 $max

我有这个阵列:

Array ( 'jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1 )
…我想返回:

Array ('jan', 'mar')
如中所示,找到计数最高的2个元素并将它们放入一个数组中。实现这一点的最简单方法是什么?

您可以使用该方法获取最大值,并获取包含具有该值的键的数组

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

$max = array_keys($array, max($array));

当你需要得到固定数量的顶级值时,这个方法就可以工作了

$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++;
}

当你需要得到固定数量的顶级值时,这个方法就可以工作了

$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++;
}