2011-03-07 64 views
0

如果我有: $ mainarray =有些东西在阵列一些重复的值PHP数组数最大值

$array_counted = array_count_values ($mainarray); 

我如何才能找到array_counted在$最大价值?

(这是最经常出现在$ mainarray我觉得元素。它主要是一个语法问题,我敢肯定,我可以循环,但不能确定语法的使用)

回答

0

你可以如果您不想循环,则对数组进行排序并分别取出第一个和最后一个项。

0

既然你计数与该值相关联:

$array_counted = array_count_values ($mainarray); 

你只需要事后对它进行排序,并返回第一个密钥(这是最OCCURED元素):

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

你可以找到第一个最大值为

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

的找到所有最大瓦尔斯的在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)

;

0

确定,那家伙卫生组织的答案,我采用了所以在这里删除了他的评论是怎么做的:

我用arsort($ array_counted)的数组进行排序,同时保持指数。由于array_count_values是一个关联数组,因此rsort本身不起作用。谢谢你们。