pandaa, Вы бы объяснили, сначала, что это за массив, как Вы его формируете и зачем всё это.
Опять же, Вы написали, что Вам надо вывести название ключа, который имеет самое большое значение. Значит в данном случае Вы хотите получить "56" или значение "key_three"?
pandaa, потому, что в алфавитном порядке)))
Из документации
Замечание:
Значения разных типов будут сравниваться в соответствии со стандартными правилами сравнения. К примеру, нечисловая строка (string) будет сравниваться с целым числом (integer) так, как будто это 0, а множество нечисловых строк (string) будут сравниваться алфавитно-цифровым порядком. Выбранное значение будет возвращено без конвертации типа.
pandaa, зачем Вам вообще max()?
Сначала сортируете по ключам массив, не по значениям, а по ключам. Затем выводите или первый элемент или последний, всё зависит от порядка сортировки, который Вы выберите.