Tema: FAQ's de PHP
Ver Mensaje Individual
  #203 (permalink)  
Antiguo 07/10/2008, 22:00
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: FAQ's de PHP

Tema: Funciones
Pregunta: ¿Como obtengo numeros aleatorios (random) sin que se repitan entre si (unicos)? (Otro método)

Respuesta:

Vamos a crear una función que se llame igual a la que puso korg1988 dos mensajes arriba: uni_rands()

Aca va el codigo de la funcion
Código php:
Ver original
  1. function uni_rands($cantidad, $inicio, $fin) {
  2.     $n = range($inicio, $fin);
  3.     foreach(array_rand($n, $cantidad) as $i)
  4.         $ns[] = $n[$i];
  5.     return $ns;
  6. }
El uso es el mismo
Código php:
Ver original
  1. foreach(uni_rands(7, 20, 40) as $numero) {
  2.     echo $numero."\n";
  3. }
La funcion devuelve también un array, y los argumentos que necesita son, la cantidad de numeros que queremos obtener, el numero minimo, y el numero maximo. La diferencia está en el código de la función, el cuál es más sencillo (Véase range(), array_rand())

Saludos,