Функция на PHP позволяющая найти в массиве максимальное цифровое значение и вернуть его вместе со своим ключом.
Имеем массив с ключами, пусть он называется $array и в нём следующее содержимое:
(
[21] => 7
[52] => 5
[34] => 2
[55] => 1
[12] => 9
)
[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;
}
{
$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];
}
{
if (!$array) {
return [];
}
$key = array_keys($array, max($array))[0];
$value = $array[$key];
return [$key => $value];
}
$max = array_keys($array, max($array))[0];
Краткость сестра таланта, безусловно, но что именно вы собирались выразить этим комментарием?