Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/11/2013, 17:24
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Número aleatorio pero evitando uno en particular

Versión "extendida" para mostrar el funcionamiento:

Código PHP:
Ver original
  1. /* Creacion de un array con los numeros a mostrar */
  2. $numeros=array();
  3. for($k=1;$k<=49;$k++)
  4.    $numeros[]=$k;
  5.  
  6. // Se comienza el bucle. usando como contador una variable que indica cuántos elementos
  7. // del array quedan por mezclar.
  8. for($n=49;$n>0;$n--)
  9. {
  10.      // Se obtiene un índice al azar del array, entre 0 y el número de elementos que quedan por mezclar.
  11.      $r=rand(0,$n);
  12.     // Se obtiene ese elemento del array, y se elimina del mismo.
  13.      $p=array_splice($numeros,$r,1);
  14.     // Lo añadimos al final del array.
  15.     // Ahora este elemento está en la posición n, por lo que no volverá a ser mezclado.
  16.      $numeros[]=$p[0];
  17. }
  18. // Se muestra la salida
  19. echo implode(",",$numeros);