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
To Top