PHP массив — ищем максимальное значение в свойстве и возвращаем его вместе с его ключом

Функция на PHP позволяющая найти в массиве максимальное цифровое значение и вернуть его вместе со своим ключом.

Имеем массив с ключами, пусть он называется $array и в нём следующее содержимое:

(
  [21] => 7
  [52] => 5
  [34] => 2
  [55] => 1
  [12] => 9
)

Нам нужно из этого массива получить одну пару (ключ-значение), у которой будет максимальное значение.

Для этого воспользуемся следующей функцией:

$max = max_value_with_key($array);

Теперь переменная $max будет содержать значение:

[12] => 9

Сама функция, которая возвращает максимальное значение. Можно использовать любую из двух функций ниже. Они работают одинаково. Однако вторая, вроде как лучше первой:

function max_value_with_key($array)
{
    $k = [];
    $max = max($array);
    foreach ($array as $k => $v)
    {
        if ($v == $max) return $k;
    }
    return $k;
}

или

function max_value_with_key(array $array)
{
    if (!$array) {
        return [];
    }

    $key = array_keys($array, max($array))[0];
    $value = $array[$key];

    return [$key => $value];
}

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "PHP массив — ищем максимальное значение в свойстве и возвращаем его вместе с его ключом".

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Если вам нужно добавить участок кода ставьте его между тегами <code></code>