(PHP 4, PHP 5, PHP 7, PHP 8)
min — Encontra o menor valor
Forma alternativa (não suportada com argumentos nomeados):
Se o primeiro e único argumento é um array, min() retorna o menor valor no array. Se no mínimo dois parâmetros são fornecidos, min() retorna o menor deles.
Nota:
Valores de tipos diferentes serão comparados utilizando as regras padrões de comparação. Por exemplo, uma string não numérica será comparada com um inteiro int como se fosse
0, mas várias strings não numéricos serão comparadas alfanumericamente. O valor real retornado terá o tipo do original, sem nenhuma conversão aplicada.
Cuidado ao passar argumentos de tipos diferentes, pois min() pode produzir resultados imprevisíveis.
valueQualquer valor comparável.
valuesQuaisquer valores comparáveis.
value_arrayUm array contendo os valores.
min() retorna o valor considerado o "menor" de acordo com as comparações
padrão. Se valores de diferentes tipos forem avaliados como iguais (por exemplo 0
e 'abc') então o primeiro valor fornecido à função será retornado.
Se um array vazio for informado, min() lança um ValueError.
| Versão | Descrição |
|---|---|
| 8.0.0 |
min() lança um ValueError em caso de falhas;
anteriormente retornava false e emitia um alerta E_WARNING.
|
| 8.0.0 | Como as comparações de número e string foram alteradas, min() não mais retorna um valor diferente por conta da ordem dos argumentos informados. |
Exemplo #1 Exemplos de min()
<?php
echo min(2, 3, 1, 6, 7), PHP_EOL; // 1
echo min(array(2, 4, 5)), PHP_EOL; // 2
// Aqui a comparação que ocorre é -1 < 0, e -1 é o menor valor
echo min('hello', -1), PHP_EOL; // -1
// Quando comparando arrays de vários comprimentos, min retorna o mais curto
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)
var_dump($val);
// Vários arrays de mesmo tamanho, a comparação ocorre nos elementos, da esquerda para direita
// so in our example: 2 == 2, but 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
var_dump($val);
// Se for fornecido um array e um primitivo, o array nunca é retornado
// pois as comparações tratam os arrays como maiores que outros valores
$val = min('string', array(2, 5, 7), 42); // string
var_dump($val);
// Se um argumento é null ou booleano, ele será comparado com outros valores
// usando a regra que FALSE < TRUE e NULL == FALSE,
// independente dos tipos envolvidos
// Nos exemplos abaixo -10 e 10 são tratados como TRUE nas comparações
$val = min(-10, FALSE, 10); // FALSE
var_dump($val);
$val = min(-10, NULL, 10); // NULL
var_dump($val);
// 0, por outro lado, é tratado como FALSE, então é "menor que" TRUE
$val = min(0, TRUE); // 0
var_dump($val);
?>