min
(PHP 4, PHP 5, PHP 7, PHP 8)
min — Encontra o menor valor
Descrição
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.
Note:
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.
Parâmetros
value
-
Qualquer valor comparável.
values
-
Quaisquer valores comparáveis.
value_array
-
Um array contendo os valores.
Valor Retornado
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.
Erros/Exceções
Se um array vazio for informado, min() lança um ValueError.
Registro de Alterações
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. |
Exemplos
Example #1 Exemplos de min()
<?php
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2
// Aqui a comparação que ocorre é -1 < 0, e -1 é o menor valor
echo min('hello', -1); // -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)
// 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)
// 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
// Se um argumento é null ou booleando, 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
$val = min(-10, NULL, 10); // NULL
// 0 é tratado como FALSE, então é menor que TRUE
$val = min(0, TRUE); // 0
?>