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