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