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 )