Foros del Web » Programando para Internet » PHP »

Eliminar datos de array dado otro array

Estas en el tema de Eliminar datos de array dado otro array en el foro de PHP en Foros del Web. Buenas! Es posible con alguna función de php (he estado buscando en la documentación oficial y en google y no doy con ello), eliminar el ...
  #1 (permalink)  
Antiguo 10/04/2010, 13:28
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Eliminar datos de array dado otro array

Buenas!

Es posible con alguna función de php (he estado buscando en la documentación oficial y en google y no doy con ello), eliminar el contenido de un array dado otro array. Os pongo un ejemplo:

Código PHP:
//Tengo este array que me pasan por argumento
$aDatos = array('id' => '1''nombre' => 'Arturo''descripcion' => 'Una Descripcion''idioma' => 'es');

//Me creo este array con los campos que quiero separar del otro array
$aDatosTexto = array($aDatos['nombre'], $aDatos['descripcion']);
            
//Y llamar a alguna funcion php que me quite los valores de $aDatos dado $aDatosTexto, por ejemplo:
$aDatos unaFuncion($aDatos $aDatosTexto);

//Ahora $aDatos se debería de quedar así:
$aDatos = array('id' => '1''idioma' => 'es'); 
No se si hay algo que haga esto, pero me resolvería mucho códio. Ya que en la aplicación el array de datos contiene muchos más que en el ejemplo.

Muchas Gracias por todo y Saludos!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)

Última edición por huspy; 10/04/2010 a las 13:29 Razón: Falta código
  #2 (permalink)  
Antiguo 10/04/2010, 13:56
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Eliminar datos de array dado otro array

podes usar unset pero en el segundo array deberias usar las mismas key para poder identificar el array a quitar, o simplemente dejarlo pero crear un array con valores unicos

Código PHP:
Ver original
  1. $aDatos = array('id' => '1', 'nombre' => 'Arturo', 'descripcion' => 'Una Descripcion', 'idioma' => 'es');
  2.  
  3. $aDatosTexto = array('nombre'=>$aDatos['nombre'], 'descripcion'=>$aDatos['descripcion']);
  4.  
  5. foreach($aDatos as $key => $value){
  6.   if(isset($aDatosTexto[$key])){
  7.        unset($aDatos[$key]);
  8.   }
  9. }
  10.  
  11. print_r($aDatos); // id=>1,idioma=>es
  12.  
  13. // Si $aDatos es un array de estructura que deberia guardarse como referencia crea un nuevo array con la diferencia de valores
  14. foreach($aDatos as $key => $value){
  15.   if(!isset($aDatosTexto[$key])){
  16.        $newArrayDatos[$key] = $value;
  17.   }
  18. }
  19.  
  20. print_r($newArrayDatos); // id=>1, idioma=>es
  #3 (permalink)  
Antiguo 10/04/2010, 16:17
Avatar de huspy  
Fecha de Ingreso: diciembre-2008
Ubicación: Málaga, España
Mensajes: 120
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Eliminar datos de array dado otro array

Muchas Gracias!!!

La primera opción me vale!!

Saludos!

Karma++!
__________________
"Lo escuché y lo olvidé, lo vi y lo entendí, lo hice y lo aprendí." (Confucio)

Etiquetas: dado, eliminar
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 14:53.