(PHP 4, PHP 5, PHP 7)
min — Encontra o menor valor
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() retornará o menor deles.
Nota:
Valores de tipos diferentes serão comparados utilizando as regras padrões de comparação. Por exempli uma string não numérica será comparada com um inteiro integer como se fosse
0
, mas vários valores não numéricos strings serão comparadas alfabeticamente. O valor retornado terá o tipo original, sem nenhuma conversão aplicada.
Cuidado ao passar argumentos de vários tipos, o que deixa o resultado de min() imprevisível.
values
Um array contendo os valores.
value1
Qualquer valor comparável.
value2
Qualquer valor comparável.
...
Qualquer valor comparável.
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 será retornado.
Se um array vazio for informado, então false
será retornado e será emitido um alerta
E_WARNING
.
Exemplo #1 Exemplos de min()
<?php
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2
// A string 'hello' quando comparada com um int é tratada como 0
// Como os valores são iguais, a ordem determina o resultado
echo min(0, 'hello'); // 0
echo min('hello', 0); // hello
// 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, 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
?>