elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Comparar dos arrays
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparar dos arrays  (Leído 2,380 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Comparar dos arrays
« en: 10 Marzo 2014, 20:28 pm »

Hola.

Tengo que comparar dos arrays.

El primero tiene la siguiente estructura al utilizar print_r($a)

Código:
Array ( [0] => Clue [1] => segpopular [2] => acredita [3] => aguapota [4] => aguaredmun ) 

El segundo es resultado de una consulta sql, pero guardado en un array.


Código:
Array ( [0] => Array ( [COLUMN_NAME] => Clue ) [1] => Array ( [COLUMN_NAME] => recetas ) [2] => Array ( [COLUMN_NAME] => acredita ) [3] => Array ( [COLUMN_NAME] => 35067 ) )

Quiero conocer la intesección de los value, por ejemplo en este caso quiero obtener en otro arreglo los valores: Clue y acredita.

Estoy intentando con este método, pero al ser un array bidimensional supongo que no funciona igual
Código
  1. $array3 = array_intersect_key($array1, $array2);
  2.  

Alguna idea? :)

Edito.

Olvide mencionar que voy a comparar 170 valores (array1) contra 200 valores (array2) aproximadamente y esto se hará 5100 veces

Gracias


« Última modificación: 10 Marzo 2014, 20:51 pm por Darhius » En línea

abc
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Comparar dos arrays
« Respuesta #1 en: 11 Marzo 2014, 22:18 pm »

Lo unico que se me ocurre es reducir el segundo array y hacerlo como el primero..

Código
  1. <?php
  2.  
  3. function reduceArray($input){
  4. foreach($input as $index=>$arr){$input[$index] = $arr['COLUMN_NAME'];}
  5. return $input;
  6. }
  7.  
  8. $array = array('Clue','segpopular','acredita','aguapota','aguaredmun');
  9. $array2 = array(
  10. array('COLUMN_NAME'=>'recetas'),
  11. array('COLUMN_NAME'=>'acredita'),
  12. array('COLUMN_NAME'=>'35067')
  13. );
  14.  
  15. print_r(array_intersect_key($array, reduceArray($array2)));
  16. // Array ( [0] => Clue [1] => segpopular [2] => acredita )
  17.  
  18. ?>

El caso es que eso implica recorrerlo 2 veces... seguramente php tenga alguna función para esto xD


Saludos


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Comparar dos arrays
« Respuesta #2 en: 11 Marzo 2014, 22:36 pm »

que tal si usas algo asi

Código
  1. array3;
  2. foreach(array1 as subarray){
  3.  if(array_seach(subarray[COLUMN_NAME],array2)
  4.    array3[]=subarray[COLUMN_NAME];
  5.  
  6.  
mas o menos esa es la idea, si tiene errores sorry, estoy en cel :p
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Comparar dos arrays
« Respuesta #3 en: 12 Marzo 2014, 16:32 pm »

Gracias por responder.

#!drvy tú método es precisamente lo tengo ahora. Solo que pensé que habría un método nativo para hacerlo más práctico.

engelx Probaré tu método para ver cual lo realiza en menos tiempo.


Saludos.
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar arrays en C
Programación C/C++
jc1992 2 5,111 Último mensaje 8 Febrero 2013, 17:15 pm
por BatchianoISpyxolo
Concatenar dos arrays y comparar rellenar y mostrar ?
.NET (C#, VB.NET, ASP)
luis456 2 2,504 Último mensaje 2 Enero 2014, 19:36 pm
por luis456
comparar 2 arrays en php con > o <
PHP
demonstrator 6 7,292 Último mensaje 5 Septiembre 2014, 03:48 am
por demonstrator
Comparar arrays en java
Java
erikcdlm 5 5,278 Último mensaje 22 Febrero 2016, 14:23 pm
por sodark
MOVIDO: Comparar arrays en java
Programación General
Eleкtro 0 1,741 Último mensaje 8 Octubre 2014, 04:06 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines