PHP Get multiple highest values from array

2019-08-13 06:47发布

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?

标签: php arrays key max
1条回答
女痞
2楼-- · 2019-08-13 07:09

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.

查看更多
登录 后发表回答