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

# max

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

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

### Описание

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

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

function 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open