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.

Примеры

Пример #1 Пример использования max()

<?php
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5

// 'hello' будет представлено как числовое значение 0.
// Оба параметра имеют одинаковое значение, поэтому результат
// определяется порядком, в котором параметры переданы
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello

// Здесь сравниваются -1 < 0, так что 'hello' больше
echo max('hello', -1); // hello

// В данном случае 0 больше, чем -1, поэтому результат равен 'hello'.
echo max(-1, 'hello'); // hello

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

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

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

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

// 0 всегда трактуется как FALSE, значит он "меньше чем" TRUE
$val = max(0, TRUE); // TRUE
?>

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

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