Foros del Web » Programando para Internet » PHP »

Unir arreglo y evitar que se repita en php

Estas en el tema de Unir arreglo y evitar que se repita en php en el foro de PHP en Foros del Web. Hola, mi duda es la siguiente como puedo unir dos arreglos y en eliminar los index que se repitan? Este es mi caso: Cita: Array ...
  #1 (permalink)  
Antiguo 29/01/2015, 08:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Unir arreglo y evitar que se repita en php

Hola, mi duda es la siguiente como puedo unir dos arreglos y en eliminar los index que se repitan?

Este es mi caso:
Cita:
Array ( [0] => Array ( [IdUsuario] => 1 [idHabitantes] => 1 [Usuario] => maria [Clave] => 123ff [TipodeUsuario] => Administrador [fechaRegistro] => 0000-00-00 ) )
Cita:
Array ( [0] => Array ( [idHabitantes] => 1 [nacionalidad] => V [Cedula] => 20180659 [Nombre] => Paula Litrell [Apellido] => mendez [TiempoResidencia] => 1 [Direccion] => xxx [EstadoCivil] => Soltero [FechadeNacimiento] => 2014-11-05 [Profesion] =>xxx [Sexo] => F [comite] => [Correo] => ) )
He leido que utilizan array_merge para unirlo , lo aplique y me sale así
Cita:
Array ( [0] => Array ( [IdUsuario] => 1 [idHabitantes] => 1 [Usuario] => maria [Clave] => 123ff [TipodeUsuario] => Administrador [fechaRegistro] => 0000-00-00 ) [1] => Array ( [idHabitantes] => 1 [nacionalidad] => V [Cedula] => 20180659 [Nombre] => Paula Litrell [Apellido] => mendez [TiempoResidencia] => 1 [Direccion] => xxx [EstadoCivil] => Soltero [FechadeNacimiento] => 2014-11-05 [Profesion] => xxx [Sexo] => F [comite] => [Correo] => ) )
Esta bien así? como también puedo evitar que se repita el indice idHabitantes y solo tome uno?
  #2 (permalink)  
Antiguo 29/01/2015, 08:30
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Unir arreglo y evitar que se repita en php

array_unique
  #3 (permalink)  
Antiguo 29/01/2015, 09:42
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Unir arreglo y evitar que se repita en php

Cita:
Iniciado por enlinea777 Ver Mensaje
array_unique
Hola enlinea777, aplique el array_unique pero me da error.
Cita:
$resultado= array_merge($login,$datos);
$entrada=array_unique($resultado);
print_r($entrada);
el error que me sale es este:
Notice: Array to string conversion in C:\xampp\htdocs\include\login.php on line 27
y en la linea 25 tengo:
$entrada=array_unique($resultado);
  #4 (permalink)  
Antiguo 29/01/2015, 09:46
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Unir arreglo y evitar que se repita en php

busca la traduccion de Notice
te aseguro que no es ERROR
  #5 (permalink)  
Antiguo 29/01/2015, 13:43
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Unir arreglo y evitar que se repita en php

Hola enlinea777 ya lo soluciones, elimine el indice que se repite y los uni, coloco la solución que hice:
Código PHP:
unset($datos[0]['idHabitantes']);
$login=array_shift($login);//obtenemos el primer idioma del array, y al mismo tiempo lo eliminamos de la variable $login
$datos=array_shift($datos);//obtenemos el primer idioma del array, y al mismo tiempo lo eliminamos de la variable $datos
$a[]=array_merge($login,$datos);//unimos los dos arreglos $login y $datos
$resultado array_values(array_map("unserialize"array_unique(array_map("serialize"$a))));//indexamos el array externo para quitar los saltos, luego le decimos que tiene que aplicar la función unserialize, a todos los elementos únicos de lo que resulte de array_map aplicar serialize a $a
print_r($resultado); 
Si puede verlo y decirme si esta bien o mal el código, a me funcione me ayude con este tema de foro:
http://www.forosdelweb.com/f18/como-...ativos-977139/

Saludos.

Etiquetas: arreglo, fecha, registro
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 00:57.