(PHP 4, PHP 5, PHP 7, PHP 8)
max — El valor más grande
Firma alternativa (no soportada con argumentos nombrados):
Si el primer y único parámetro es un array, max() devuelve el valor más alto del array. Si se proporcionan al menos dos parámetros, max() devuelve el más grande de estos valores.
Nota:
Los valores de diferentes tipos serán comparados utilizando las reglas de comparación estándar. Actualmente, un string no numérico será comparado con un entier como si fuera el valor
0
, pero varios chaîne de caractères no numéricos serán comparados de forma alfanumérica. El valor actual devuelto será del mismo tipo que el original y no se aplicará ninguna conversión de tipo.
Tenga cuidado al pasar argumentos con tipos diferentes, ya que max() puede producir resultados impredecibles.
value
Cualquier valor comparable.
values
Cualquier valor comparable.
value_array
Un array que contiene los valores.
La función max() devuelve el valor del parámetro
considerado como "superior" según la comparación estándar.
Si varias valores de tipos diferentes son evaluados como iguales
(i.e. 0
y 'abc'
), el primero proporcionado
a la función será devuelto.
Si se pasa un array vacío, la función max() lanza una ValueError.
Versión | Descripción |
---|---|
8.0.0 |
max() ahora lanza una ValueError en caso de fallo;
previamente, false era devuelto y se emitía un error E_WARNING .
|
8.0.0 | Como las comparaciones entre strings y números han sido cambiadas, max() ya no devuelve un valor diferente basado en el orden de los argumentos en estos casos. |
Ejemplo #1 Ejemplo con max()
<?php
echo max(2, 3, 1, 6, 7), PHP_EOL; // 7
echo max(array(2, 4, 5)), PHP_EOL; // 5
// Aquí, comparamos -1 < 0, por lo que 'hello' es el valor más grande
echo max('hello', -1), PHP_EOL; // hello
// Con varios arrays de diferentes tamaños, max devuelve
// el más largo
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
var_dump($val);
// Varios arrays de la misma longitud son comparados de izquierda a derecha
// también, en nuestro ejemplo: 2 == 2, pero 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
var_dump($val);
// Si se proporciona un array y un no-array, el array será siempre
// devuelto, sabiendo que las comparaciones tratan los arrays como
// más grandes que cualquier valor
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
var_dump($val);
// Si un argumento es NULL o un booleano, será comparado con otros
// valores utilizando la regla FALSE < TRUE según los otros tipos concernidos
// En el ejemplo de abajo, -10 es tratado como TRUE en la comparación
$val = max(-10, FALSE); // -10
var_dump($val);
// Por otro lado, 0 es tratado como FALSE, por lo que es "más pequeño que" TRUE
$val = max(0, TRUE); // TRUE
var_dump($val);
?>