php数组计数最大值

时间:2011-03-07 18:51:56

标签: php

如果我有: $ mainarray =一些具有重复值的事物

$array_counted = array_count_values ($mainarray);

如何在$ array_counted中找到最大值?

(这是我认为最常出现在$ mainarray中的元素。它主要是语法问题,因为我很确定我可以循环它,但不确定要使用的语法)

4 个答案:

答案 0 :(得分:1)

您可以找到第一个最大值

$main_array = array(1,2,3,4,5,6,6,6,6,6,6,6);
$max_val = max($main_array);

查找所有max vals 在php< 5.3

  function findmax($val)
{
    global $max_val;
    return $val == $max_val;
}
$max_values_array = array_filter($main_array,'findmax');

在php> = 5.3

 $max_values_array = array_filter($main_array,function($val) use  ($max_val)  {  return $val == $max_val; }); 

echo count($max_values_array); 

的var_dump($ max_values_array);

答案 1 :(得分:0)

如果你不想循环,你可以对数组进行排序并从中取出第一个,最后一个项目。

答案 2 :(得分:0)

由于您将计数与值相关联:

$array_counted = array_count_values ($mainarray);

您只需要事后对其进行排序,然后返回第一个键(最常出现的元素):

arsort($array_counted);
print key($array_counted);  // returns first key

答案 3 :(得分:0)

好吧,我回答过的那个人已经删除了他的评论,所以这就是我的做法:

我使用arsort($ array_counted)对数组进行排序,同时保持索引。单独的rsort不起作用,因为array_count_values是一个关联数组。谢谢大家。