Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2008, 06:29
sk1one
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Exclamación ¿Porque no lo hace del todo correcto?

Bienaqui voy mi script lo que se supone que deveria de hacer es comparar los valores de dos arrays $listado que contiene los numeros del 1 al 8 y $Aleatorios que en principio está vacio. Entonces... se genera unnumero aleatorio y este es buscado con la funcion array_Search si existe o no ese valor en la cadena, en el caso de que no exista, pues mete el valor de $listado en $Aleatorios, en el caso de que ya este metido en $Aleatorios, es decir que exista en el array puesto que array_search devolvió TRUE este no es metido en $Aleatorios. Mu bonito pero no m hace eso a veces me mete ya valores que estan ya metidos en $aleatorios. Espero haberme explicado bien porque yo no encuentro el problema. Gracias por vuestra atencion.

Código PHP:
$num_filas 8;
$maximo 4;
while(
$j!=$maximo)
{    
    
$aleatorio rand(0,$num_filas-1);
    echo 
'<br>aleatorio = '.$aleatorio.'';
    if(
array_search($listado[$aleatorio],$Aleatorios)== FALSE)
       {    
          echo 
'<br><br>El '.$listado[$aleatorio].' no esta en el array Aleatorios <br>';
          
$Aleatorios[$j] = $listado[$aleatorio];
          echo 
'$Aleatorios['.$j.'] = '.$listado[$aleatorio].'';
          echo 
'<br><br>El $listado['.$aleatorio.'] = '.$listado[$aleatorio].' HA SIDO ALMACENADO en el array Aleatorios <br>';
          
$j++;
                            
        }

Devuelve:


aleatorio = 2

El 3 no esta en el array Aleatorios
$Aleatorios[0] = 3

El $listado[2] = 3 HA SIDO ALMACENADO en el array Aleatorios

aleatorio = 7

El 8 no esta en el array Aleatorios
$Aleatorios[1] = 8

El $listado[7] = 8 HA SIDO ALMACENADO en el array Aleatorios

aleatorio = 2

El 3 no esta en el array Aleatorios
$Aleatorios[2] = 3

El $listado[2] = 3 HA SIDO ALMACENADO en el array Aleatorios

aleatorio = 4

El 5 no esta en el array Aleatorios
$Aleatorios[3] = 5

El $listado[4] = 5 HA SIDO ALMACENADO en el array Aleatorios
lista de valores Aleatorios Array ( [0] => 3 [1] => 8 [2] => 3 [3] => 5 )

Última edición por sk1one; 09/01/2008 a las 06:36