max
(PHP 4, PHP 5, PHP 7, PHP 8)
max — Localiza o maior valor
Descrição
Forma alternativa (não suportada com argumentos nomeados):
Se o primeiro e único parâmetro for um array, max() retorna o maior valor do array. Se no mínimo dois parâmetros forem fornecidos, max() retorna o maior desses valores.
Note:
Valores de diferentes tipos serão comparados utilizando as regras padrões de comparação. Por exemplo, uma string não numérica será comparada a um int como se fosse
0
, mas várias strings não numéricas 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 max() 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
max() retorna o parâmetro considerado o "maior" de acordo com as comparações
padrões. Se vários valores de tipos diferentes forem considerados iguais (por exemplo, 0
e 'abc'
) então o primeiro fornecido à função será retornado.
Erros/Exceções
Se um array vazio for informado, max() lança um ValueError.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
max() lança um ValueError em caso de erros.
Anteriormente, retornava false e emitia um alerta E_WARNING .
|
8.0.0 | Como as comparações de strings com números foram alteradas, max() não mais retorna um valor diferente por conta da ordem dos argumentos informados. |
Exemplos
Example #1 Exemplos de max()
<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// Aqui na prática compara-se -1 < 0, então 'hello' é o maior valor
echo max('hello', -1); // hello
// Arrays de múltiplos valores e tamanhos diferentes, retora o mais longo
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// Em arrays de mesmo tamanho compara-se da esquerda para direita
// e nesse exemplo: 2 == 2, mas 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
// Se um array e um não array são informados, o array será retornado
// pois é considerado maior que qualquer outro valor
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
// Se um argumento é NULL ou booleano, ele será comparado contra
// outros valores utilizando a regra FALSE < TRUE independente dos tipos envolvidos.
// No exemplo abaixo -10 é tratado como TRUE na comparação
$val = max(-10, FALSE); // -10
// 0 por outro lado é considerado false, de forma que é "menor que" TRUE
$val = max(0, TRUE); // TRUE
?>