Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2006, 06:47
leeann
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 2 meses
Puntos: 1
numeros aleatorios

Hola a todos. Tengo un error en una problema básico. Intento rellenar un array con números aleatorios que no se repitan. El caso es que tengo el siguiente código y no encuentro el error por más que lo miro:
Código PHP:
$Total=($i*$Porcentaje)/100;
         
$Total=round($Total);//Total que se van a escoger
         
$i=0;
         
$m=0;
         
$Array[0]=0;
         
$tot=$Total-1;

         While (
$i<$Total){
           
$num=rand(0,$tot);
           
$l=0;
           
$esta="no";
           
//mira que $num no se repita!!
            
while ($i<=sizeof($Array))
                if (
$Array[$l]==$num){
                  
$esta="si";
                }
             if (
$esta=="no"){
                
$Array[$m]=$num;
                
$m=$m+1;
                
$i=$i+1;
             }
           
           
         }
//Terminado coger números aleatorios 
$Porcentaje es un número entero para ver qué porcentaje de números se van a introducir. Introduzco los números en el array y antes de introducir uno miro que no se encuentre ya. Ya se que es un problema facilito, pero se me resiste. El caso es que no sale del array y da este error :Fatal error: Maximum execution time of 30 seconds exceeded. Si alguno vé algún fallo, porfavor que me avise.

Saludos