Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/05/2011, 16:09
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 8 meses
Puntos: 528
Respuesta: Evitar que un número generado por rand() se repita

yo lo he hecho así:
1 coloco los números disponibles en un arreglo.
2 al azar obtengo un número entre 0 y el tamaño del arreglo.
3 saco ese numero del arreglo.
ejemplo:

Código PHP:
Ver original
  1. for($x=1;$x<=52;$++)
  2.     $arr[]=$x;//lleno el arreglo con numeros del 1 al 52
  3.  
  4. while($tam<count($arr)){//mientras el arreglo tenga numeros
  5.     $z=rand(0,$tam);//obtengo un numero al azar entre 0 y el tamaño del arreglo
  6.     $arr_des[]=$arr[$z];//coloco el numero en otro arreglo;
  7.     array_splice($arr,$z,1);//quito el numero del arreglo original.
  8. }