(PHP 4, PHP 5, PHP 7)
max — Localiza o maior valor
Se o primeiro e único parâmetro é um array, max() retorna o maior valor do array. Se no mínimo dois parâmetros são fornecidos, max() retornará o maior desses valores.
Nota:
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 integer como se fosse 0, mas vários valores não numéricos strings serão comparadas alfabeticamente. O valor atual retornado terá o tipo original, sem nenhuma conversão.
Cuidado ao passar argumentos de vários tipos, o que deixa o resultado de max() imprevisível.
values
Um array contendo os valores.
value1
Qualquer valor comparável.
value2
Qualquer valor comparável.
...
Qualquer valor comparável.
max() retorna o parâmetro considerado o "maior" de acordo com as comparações padrões. Se vários valores de tipos diferenes são considerados iguais (por exemplo, 0 e 'abc') então o primeiro valor será retornado.
Se um array vazio for passado, então FALSE
será retornado e um alerta
E_WARNING
será emitido.
Exemplo #1 Exemplos de max()
<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// A string 'hello' quando comparada com um int é tratado como 0
// Como são iguais na comparação, a ordem influencia o resultado
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
// 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
?>