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