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(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5

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