Foros del Web » Programando para Internet » PHP »

Dudas al comparar 2 Array??? O__o

Estas en el tema de Dudas al comparar 2 Array??? O__o en el foro de PHP en Foros del Web. Hola a todos, no tngo xperiencia manejando datoscon array y tengo una duda... ¿como podria comparar 2 array q tienen "n" cantidad de datos? Mi ...
  #1 (permalink)  
Antiguo 12/11/2008, 09:46
Avatar de __DARK__  
Fecha de Ingreso: octubre-2008
Mensajes: 94
Antigüedad: 15 años, 5 meses
Puntos: 1
Pregunta Dudas al comparar 2 Array??? O__o

Hola a todos, no tngo xperiencia manejando datoscon array y tengo una duda... ¿como podria comparar 2 array q tienen "n" cantidad de datos?

Mi intención es saber que datos del Array 1 estan dentro del Array2.

Al final debe imprimirme la lista de todos los datos que estan en ambos array.

Alguna sugerencia? Q_Q
  #2 (permalink)  
Antiguo 12/11/2008, 09:54
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Dudas al comparar 2 Array??? O__o

Jaja, sigues con lo de ayer?
Prueba cambiando las consultas SQL, en serio
Mi respuesta de ayer, la hize a correr para darte la idea, no funciona si lo usaste tal cual. Era orientativo, es muy facil con SQL en serio.
  #3 (permalink)  
Antiguo 12/11/2008, 09:57
Avatar de __DARK__  
Fecha de Ingreso: octubre-2008
Mensajes: 94
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Dudas al comparar 2 Array??? O__o

LOL haha...

pzz creo q ya m resulto... es bastante codigo pero creo q hace lo q deseo...

$cod_total[]; Ya esta lleno...
Código PHP:

$sql 
"SELECT codigo FROM codigos2"
    
$rs mysql_query($sql$enlace);
    
        if(
mysql_num_rows($rs)>0)
        {
            while(
$row mysql_fetch_assoc($rs))
            {
             
$cod2 $row["codigo"];
                for(
$i=0;$i<count($cod_total);$i++)
                {
                if(
$cod2 == $cod_total[$i])
                {
                echo 
$cod2."<br>";
                }
            }
        }

q opinas Cornell??

Comencé a comparar manualmente los primeros resultados y en efecto, me esta imprimiendo los codigos q estan en ambas tablas, los q no, se los salta y no hace nada xD!
  #4 (permalink)  
Antiguo 12/11/2008, 10:02
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Dudas al comparar 2 Array??? O__o

Si claro, que puedes hacer que funcione asi. Sin ningun problema.
Pero lo de la consulta me parece mas elegante y mas sencillo.

Código PHP:

$consulta 
"SELECT * FROM codigos1 WHERE codigo IN (SELECT codigo FROM codigos 2)"
  #5 (permalink)  
Antiguo 12/11/2008, 10:05
Avatar de __DARK__  
Fecha de Ingreso: octubre-2008
Mensajes: 94
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Dudas al comparar 2 Array??? O__o

Vale! thnx x los consejos... intentare consultar como propones, nunk he realizado consultas así, me entró la curiosidad y creo q podria ahorrarme muchas líneas en otras cosas.

Ayer c me fue la red y ya no lei las respuestas xS

Ty! xD
  #6 (permalink)  
Antiguo 12/11/2008, 10:09
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Dudas al comparar 2 Array??? O__o

Ah! que luego quieres obtener todos los datos!

Entonces deberias hacer un INNER JOIN como te sugirio alguien ayer.

Código PHP:

SELECT 
*
FROM   codigos1codigos2
WHERE  codigos1
.codigo codigos2.codigo 
Esto lo que hace es devolverte registros de tipo:

Datos de codigos1 + Datos de codigo2 (donde los codigos coincidan)

Si los datos adicionales de codigos1 y codigos2 se llaman igual, deberias renombrarlo

Código PHP:
SELECT codigos1.campo2 as nombre codigos2.campo2 as otroNombre 
Entonces luego cada iteracion de $row contendría un array asociativo con los campos de ambas tablas renombrados a tu gusto
$row['nombre'], $row['otroNombre'], etc
  #7 (permalink)  
Antiguo 12/11/2008, 10:12
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Dudas al comparar 2 Array??? O__o

Cita:
Iniciado por C_Cornell Ver Mensaje
Ah! que luego quieres obtener todos los datos!

Entonces deberias hacer un INNER JOIN como te sugirio alguien ayer.

Código PHP:

SELECT 
*
FROM   codigos1codigos2
WHERE  codigos1
.codigo codigos2.codigo 
Ahi no veo el INNER JOIN, aunque igual sirve... con INNER JOIN es
SELECT * FROM codigos1 INNER JOIN codigos2 ON codigos1.codigos=codigos2.codigos
  #8 (permalink)  
Antiguo 12/11/2008, 10:39
Avatar de C_Cornell  
Fecha de Ingreso: agosto-2008
Ubicación: Santander
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Dudas al comparar 2 Array??? O__o

Es un inner join implicito. En teoría funciona igual, combina las 2 tablas y luego escoge solo las filas en las que coinciden los codigos.
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 21:47.