(PHP 4, PHP 5, PHP 7)
max — Возвращает наибольшее значение
Если первый и единственный параметр - массив, то max() возвратит наибольшее значение из этого массива. Если переданы хотя бы два параметра, max() вернет наибольший из них.
Замечание:
Значения разных типов будут сравниваться в соответствии со стандартными правилами сравнения. К примеру, нечисловая строка (string) будет сравниваться с целым числом (integer) так, как будто это 0, а множество нечисловых строк (string) будут сравниваться алфавитно-цифровым порядком. Выбранное значение будет возвращено без конвертации типа.
Будьте осторожны, задавая аргументы разных типов, поскольку результат max() может вас удивить.
max() вернет значение "наибольшего" из элементов массива, в соответствии со стандартными правилами сравнения. Если несколько разнотипных значений посчитаются идентичнымы (например 0 и 'abc'), функция вернет первое из них.
Если передан один пустой массив, то функция вернет 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
?>