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 に答える