2011-03-07 75 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本身不起作用。謝謝你們。