max

(PHP 4, PHP 5, PHP 7, PHP 8)

maxВозвращает наибольшее значение

Описание

max(mixed $value, mixed ...$values): mixed

Альтернативная сигнатура (не поддерживается с именованными аргументами):

max(array $value_array): mixed

Функция max() вернёт наибольшее значение массива, если первый и единственный параметр — массив. Функция max() вернёт наибольший параметр, если передали хотя бы два параметра.

Замечание:

Функция сравнивает разнотипные значения по стандартным правилами сравнения. Нечисловую строку (string), например, функция сравнит с целым числом (int) так, как если бы значение строки равнялось 0, но нечисловые строки (string) между собой сравниваются в алфавитно-цифровом порядке. Значение, которое вернёт функция, сохранит исходный тип без преобразования.

Предостережение

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

Список параметров

value

Произвольное сравнимое значение.

values

Любые сравнимые значения.

value_array

Массив значений.

Возвращаемые значения

Функция max() вернёт значение параметра, который посчитает «наибольшим» по стандартным правилам сравнения. Функция вернёт первое значение, если разнотипные значения оцениваются как равные (например, 0 и «abc»).

Ошибки

Функция max() выбрасывает исключение ValueError, если передали пустой массив.

Список изменений

Версия Описание
8.0.0 Функция max() теперь выбрасывает исключение ValueError, если возникла ошибка; раньше возвращалось значение false и выдавалась ошибка уровня E_WARNING.
8.0.0 Поскольку сравнения строк с числами изменились, функция max() больше не возвращает другое значение в зависимости от порядка аргументов для таких случаев.

Примеры

Пример #1 Пример получения наибольшего значения функцией max()

<?php

echo max(2, 3, 1, 6, 7), PHP_EOL; // 7
echo max(array(2, 4, 5)), PHP_EOL; // 5

// Здесь сравниваются 0 > -1, поэтому 'hello' больше
echo max('hello', -1), PHP_EOL; // hello

// При сравнении массивов разной длины функция max вернёт более длинный
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
var_dump($val);

// При сравнении массивов одинаковой длины — функция max будет сравнивать их поэлементно
// слева направо, в этом примере 2 == 2, но 4 < 5
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
var_dump($val);

// Если передан массив и не массив, будет возвращён массив
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
var_dump($val);

// Значение NULL или логическое значение, которое передали в каком-либо аргументе, сравнивается с другими
// значениями по правилу FALSE < TRUE независимо
// от типа других аргументов.
// В следующем примере значение -10 трактуется как значение TRUE
$val = max(-10, FALSE); // -10
var_dump($val);

// 0 трактуется как FALSE, значит, он «меньше» TRUE
$val = max(0, TRUE); // TRUE
var_dump($val);

?>

Смотрите также

  • min() - Находит наименьшее значение
  • count() - Подсчитывает количество элементов в массиве или в объекте Countable