1

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

1 Answer 1

3

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.