1
我有此數組:獲取基於值相關聯的數組中的元素
Array ('jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1)
..和我要回:
Array ('jan', 'mar')
如,找到2個元素最高計數和把它們放在一個數組中。達到此目的最簡單的方法是什麼?
我有此數組:獲取基於值相關聯的數組中的元素
Array ('jan' => 2, 'feb' => 1, 'mar' => 2, 'apr' => 1)
..和我要回:
Array ('jan', 'mar')
如,找到2個元素最高計數和把它們放在一個數組中。達到此目的最簡單的方法是什麼?
您可以使用max()
獲取最大值,並使用array_keys()
獲取包含具有該值的鍵的數組。
$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++;
}
+1,我不知道'array_keys'帶了第二個參數。 – 2012-04-19 17:45:47
+1我不知道'max'存在。 – Josh 2012-04-19 17:47:11