2012-04-19 1 views
1

私は、この配列があります。値に基づいて、関連する配列の要素を取得します

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

を..and私は戻りたい:

Array ('jan', 'mar') 

のようで、最高のカウント数との2つの要素を見つけ、それらを配列に入れてください。これを達成する最も簡単な方法は何ですか?

答えて

8

max()を使用して最大値を取得し、array_keys()を使用して、その値を持つキーを含む配列を取得できます。

+1

+1、私は 'array_keys'が2番目のパラメータを取ったことを知りませんでした。 –

+1

+1「最大」が存在するかどうかわかりませんでした。 – Josh

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++; 
} 
関連する問題