(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), PHP_EOL; // 1
echo min(array(2, 4, 5)), PHP_EOL; // 2
// Здесь сравнивается -1 < 0, поэтому -1 аименьшее значение
echo min('hello', -1), PHP_EOL; // -1
// При сравнении массивов разной длины функция min вернёт самый короткий
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)
var_dump($val);
// Массивы одинаковой длины сравниваются по значениям слева направо,
// поэтому в примере: 2 == 2, но 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
var_dump($val);
// При передаче массива и значения другого типа
// массив не возвращается, поскольку сравнение считает массив бо́льшим значением
$val = min('string', array(2, 5, 7), 42); // string
var_dump($val);
// Сравнение с другими значениями произойдёт по правилу FALSE < TRUE и NULL == FALSE,
// если какой-либо аргумент равен NULL или логическому значению,
// независимо от типа аргументов
// В следующем примере -10 и 10 трактуется как TRUE
$val = min(-10, FALSE, 10); // FALSE
var_dump($val);
$val = min(-10, NULL, 10); // NULL
var_dump($val);
// Значение 0 трактуется как FALSE, поэтому 0 «меньше» TRUE
$val = min(0, TRUE); // 0
var_dump($val);
?>