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