Tema:
Funciones
Pregunta:
¿Como obtengo numeros aleatorios (random) sin que se repitan entre si (unicos)?
Respuesta:
Podemos crear una funcion, la llame uni_rands (o sea , unique rands o randoms unicos, o aleatorios unicos o lo que sea
)
Aca va el codigo de la funcion
Código PHP:
function uni_rands($cant, $ini, $fin)
{
$ns = array();
if(($fin - $ini + 1) >= $cant) {
while($ct < $cant)
{
$rnd = rand($ini, $fin);
if(!in_array($rnd, $ns)) {
$ns[$ct] = $rnd;
++$ct;
}
}
} else {
die("Error: Rango inferior a la Cantidad");
}
return $ns;
}
Y aca una implementacion de Ejemplo
Código PHP:
foreach(uni_rands(10, 1, 10) as $numero)
{
echo $numero."\n";
}
Como veran la funcion devuelve un array, y los argumentos que necesita son, la cantidad de numeros que queremos obtener, el numero minimo, y el numero maximo
Saludos
Suerte