PHP Get multiple highest values from array

2019-08-13 06:57发布

问题:

I have a script that puts a bunch of variables (in this case random letters A through D) into an array, counts the frequency of these variables, finds the highest frequency and then finds the key that matches this frequency.

$answerlist = array($a1, $a2, $a3, $a4,);
$count = array_count_values($answerlist);
$high_value = max($count);
$high_key = array_search($high_value, $count); 
print_r ($high_key);

However in a case where there are 2 equal highest values, array_search only returns the first key. Is there a way to return both?

回答1:

This should do it:

$high_keys = array_keys($count, $high_value);

From the array_search docs:

If needle is found in haystack more than once, the first matching key is returned. To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.



标签: php arrays key max