max

(PHP 4, PHP 5, PHP 7, PHP 8)

maxEl valor más grande

Descripción

max(mixed $value, mixed ...$values): mixed

Firma alternativa (no soportada con argumentos nombrados):

max(array $value_array): mixed

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.

Precaución

Tenga cuidado al pasar argumentos con tipos diferentes, ya que max() puede producir resultados impredecibles.

Parámetros

value

Cualquier valor comparable.

values

Cualquier valor comparable.

value_array

Un array que contiene los valores.

Valores devueltos

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.

Errores/Excepciones

Si se pasa un array vacío, la función max() lanza una ValueError.

Historial de cambios

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.

Ejemplos

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);
?>

Ver también

  • min() - El valor más pequeño
  • count() - Cuenta todos los elementos de un array o en un objeto Countable