(PHP 4, PHP 5)
max — Возвращает наибольшее значение
Если в качестве единственного аргумента передан массив, max() вернет значение наибольшее значение из этого массива. Если передано 2 или более аргумента, функция max() вернет наибольший из них.
Замечание:
Значения разных типов сравниваются с использованием стандартных правил сравнения. Например, не числовая строка (string) будет сравниваться с целым числом (integer) как будто она равна 0, но несколько строк (string) будут сравниваться алфивитом. Возвращаемое значение сохранит первоначальный тип переменной, без преобразования.
Функция max() возвращает значение того параметра, который считается "самым большим" согласно стандартным правилам сравнения. Если несколько значений разного типа равны между собой (т.е. 0 и 'abc'), то будет возвращен первый из них.
Пример #1 Пример использования max()
<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// Строка 'hello', при сравнении с int, рассматривается как 0
// Так как оба значения равны, то порядок параметров определяет результат
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
// Здесь мы сравниваем -1 < 0, поэтому 'hello' является наибольшим значением
echo max('hello', -1); // hello
// При сравнении массивов разной длины, max вернет более длинный
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// Несколько массивов одинаковой длины сравниваются слева направо
// для этого примера: 2 == 2, но 5 > 4
$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
$val = max(-10, FALSE); // -10
// с другой стороны, 0 рассматривается как FALSE, поэтому это "меньше" чем TRUE
$val = max(0, TRUE); // TRUE
?>