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