Подтвердить что ты не робот

Получение ключа массива с использованием функции max()

Я использую функцию max(), чтобы найти наибольшее значение в массиве. Мне нужен способ вернуть ключ этого значения. Я пробовал играть с функцией array_keys(), но все, что я могу сделать, это вернуть самый большой ключ массива. Должен быть способ сделать это, но в руководствах php ничего не говорится.

Вот пример кода, который я использую:

$arrCompare = array('CompareOne' => $intOne,
                    'CompareTwo' => $intTwo,
                    'CompareThree' => $intThree,
                    'CompareFour' => $intfour);

$returnThis = max($arrCompare);

Я могу успешно получить максимальное значение массива, я просто не могу получить связанный ключ. Любые идеи?


Изменить: просто уточнить, использование этого не будет работать:

$max_key = max( array_keys( $array ) );

Это сравнивает ключи и ничего не делает со значениями в массиве.

4b9b3361

Ответ 1

array_search поможет вам.

$returnThis = array_search(max($arrCompare),$arrCompare);

Ответ 2

Если вам нужны все ключи для максимального значения из исходного массива, вы можете сделать:

$keys = array_keys($array, max($array));