Foros del Web » Programando para Internet » PHP »

¿Porque no lo hace del todo correcto?

Estas en el tema de ¿Porque no lo hace del todo correcto? en el foro de PHP en Foros del Web. 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 (permalink)  
Antiguo 09/01/2008, 06:29
 
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
  #2 (permalink)  
Antiguo 09/01/2008, 11:52
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: ¿Porque no lo hace del todo correcto?

0 y FALSE se evaluan al mismo valor, compara el valor de array_search con === FALSE para que compare valor y tipo.
  #3 (permalink)  
Antiguo 10/01/2008, 02:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: ¿Porque no lo hace del todo correcto?

Cita:
Iniciado por DarkJ Ver Mensaje
0 y FALSE se evaluan al mismo valor, compara el valor de array_search con === FALSE para que compare valor y tipo.
Si era eso!! soy un inculto jajaja cierto que lei que devolvia tanto 0 como FLASE pero no pense que eso fuera un problema, entonces si quiero compara exactamente un valor de manera " super igual" por asi decirlo son === para el que no lo sepa. Grcias DARKJ ere un maquina de nuevo mas salvao el culo xD.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:09.