(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 .
|
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
// Если один из аргументов равен 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
?>