Foros del Web » Programando para Internet » PHP »

Eliminar valores de array

Estas en el tema de Eliminar valores de array en el foro de PHP en Foros del Web. Iré al grano. Tengo 2 arrays, uno contiene una lista de emails separados por comas que tengo en la base de datos ($emails_antiguos) y otro ...
  #1 (permalink)  
Antiguo 06/12/2007, 18:28
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Eliminar valores de array

Iré al grano.

Tengo 2 arrays, uno contiene una lista de emails separados por comas que tengo en la base de datos ($emails_antiguos) y otro que contiene los nuevos emails que me han pasado por post de un form ($emails_nuevos).

Código PHP:
$emails_antiguos=explode(",",$datos[email]);
$emails_nuevos=explode(",",$_POST[email]); 
Saco las diferencias entre ellos para saber los que se han borrado:
Código PHP:
$borrados array_diff ($emails_antiguos,$emails_nuevos); 
Ahora lo que quiero es que segun los que se hayan borrado, eliminar en un tercer array los valores que ocupan las posiciones de los emails borrados. Es decir, si por ejemplo en $emails_nuevos se han borrado los valores de las posiciones 2 y 3 entonces borrar los valores de esas posiciones en el tercer array.


Gracias de antemano
Saludos!
  #2 (permalink)  
Antiguo 06/12/2007, 18:31
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: Eliminar valores de array

con array_search(); conseguis la posicion donde esta un dato y con unset(); lo borras

saludos
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 06/12/2007, 18:40
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Mensaje Re: Eliminar valores de array

gracias por responde emilio pero estoy un poco espeso y no doy con la tecla.
Me explicare un poco mas:

tengo esto
Código PHP:
$borrados array_diff ($emails_antiguos,$emails_nuevos);
   for(
$i=1$i <= count($borrados); $i++){
      
$posicion array_search($borrados[$i], $emails_antiguos);
      
//aqui es donde deberia borrar el valor de esa posicion en el tercer array
   

como debo usar el unset() con un array?


Gracias de nuevo
  #4 (permalink)  
Antiguo 06/12/2007, 21:23
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: Eliminar valores de array

no se cual es tu tercer array asi q lo voy a llamar $tercerArray :P cambiar esta nombre por el array del q quieras elminar

$borrados
= array_diff ($emails_antiguos,$emails_nuevos);
for(
$i=1; $i <= count($borrados); $i++){unset($tercerArray[array_search($borrados[$i], $emails_antiguos)]);
//aqui es donde deberia borrar el valor de esa posicion en el tercer array
}
__________________
Degiovanni Emilio
developtus.com
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:18.