<?php
echo min(2, 3, 1, 6, 7), PHP_EOL; // 1
echo min(array(2, 4, 5)), PHP_EOL; // 2
// 'hello' es un string no numérico, por lo que -1 se convierte en el string "-1"
// y los valores se comparan como cadenas: "-1" es menor que "hello"
echo min('hello', -1), PHP_EOL; // -1
// Con varios arrays de diferentes tamaños, min retorna el más corto
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)
var_dump($val);
// Varios arrays del mismo tamaño son comparados desde la izquierda hacia la derecha,
// por lo tanto, en nuestro ejemplo: 2 == 2, pero 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
var_dump($val);
// Si se proporciona un array y un no-array, el array nunca será retornado
// ya que las comparaciones tratan los arrays como mayores que cualquier valor
// De los valores restantes, 42 se convierte en el string "42" al compararse con el
// string no numérico 'string', y "42" es menor que "string"
$val = min('string', array(2, 5, 7), 42); // 42
var_dump($val);
// Si un argumento es NULL o un booleano, será comparado con
// otras valores utilizando la regla FALSE < TRUE según los otros
// tipos proporcionados. En el ejemplo de abajo, tanto -10 como 10 son tratados
// como valiendo TRUE en la comparación
$val = min(-10, FALSE, 10); // FALSE
var_dump($val);
$val = min(-10, NULL, 10); // NULL
var_dump($val);
// Por otro lado, 0 es tratado como valiendo FALSE, por lo tanto, es "más pequeño que" TRUE
$val = min(0, TRUE); // 0
var_dump($val);
?>