Foros del Web » Programando para Internet » PHP »

Comparar Elementos en Array

Estas en el tema de Comparar Elementos en Array en el foro de PHP en Foros del Web. Tengo dos Array con estos valores y me gustaria saber como compararlos para que por un lado me salga los elementos comunes y luego los ...
  #1 (permalink)  
Antiguo 08/07/2012, 11:34
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 17 años
Puntos: 20
Exclamación Comparar Elementos en Array

Tengo dos Array con estos valores y me gustaria saber como compararlos para que por un lado me salga los elementos comunes y luego los elementos totales menso los comunes
He intentado array_intersect , pero no me ha dado resultado

Código PHP:

<?php
$array_1
=array("meta_descripcion","meta_keys","meta_autor","portal_name","password","telefono","pais","servicios","procedencia","aficciones");
$array_2=array("meta_descripcion","meta_keys","meta_autor","portal_name","password");
?>
Debería salir para los elementos comunes : meta_descripcion","meta_keys","meta_autor","portal _name","password"

Y .....quitando los comunes debería de quedar asi : "telefono","pais","servicios","procedencia","aficc iones"



Un saludo , Muchas Gracias
  #2 (permalink)  
Antiguo 08/07/2012, 13:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Comparar Elementos en Array

No creo que PHP tenga una función nativa para eso, al menos revisa en la documentación.

Lo puedes hacer recorriendo el más grande en un ciclo y usando inarray
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/07/2012, 17:32
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Comparar Elementos en Array

Código PHP:
Ver original
  1. <?php
  2. $array_1=array("meta_descripcion","meta_keys","meta_autor","portal_name","password","telefono","pais","servicios","procedencia","aficciones");
  3. $array_2=array("meta_descripcion","meta_keys","meta_autor","portal_name","password", "pruebaaaaa");
  4.  
  5. var_dump(array_intersect($array_1, $array_2));
  6.         array_diff(
  7.             $array_1, array_intersect($array_1, $array_2)),
  8.         array_diff(
  9.             $array_2, array_intersect($array_1, $array_2))
  10.     )
  11. );

Con array_intersect es suficiente para el 1er caso. Para el segundo, es mas completo.
Debes de obtener los comunes (array_intersect), luego conseguir la diferencia del primer array menos la interseccion y viceversa. Esto para conseguir tanto los diferentes del 1er array ocmo del 2do. Ya luego unes ambos arrays.
  #4 (permalink)  
Antiguo 09/07/2012, 06:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 17 años
Puntos: 20
Exclamación Respuesta: Comparar Elementos en Array

Al final lo hice así :

$campos_ok= array_values(array_intersect($array_1, $array_2));
$campos_diff=array_values(array_diff_key($array_1, $array_2));

En cada caso corrí un bucle y recorri cada dato y me funcionó muy bien , la verdad no fue tan complicado trabajar con arrays , mucho más sencillo de lo qeu esperaba

Saludos !!!

Etiquetas: elementos
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 22:16.