Foros del Web » Programando para Internet » PHP »

eliminar valores de un array pasandole otro array

Estas en el tema de eliminar valores de un array pasandole otro array en el foro de PHP en Foros del Web. Como podria hacer para eliminar valores de un array que esten en otro. $array1=array(1,2,3); $array2=array(3,4,5); es decir en array1 me tendria que quedar los valores ...
  #1 (permalink)  
Antiguo 07/03/2016, 08:33
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 4 meses
Puntos: 10
eliminar valores de un array pasandole otro array

Como podria hacer para eliminar valores de un array que esten en otro.

$array1=array(1,2,3);
$array2=array(3,4,5);

es decir en array1 me tendria que quedar los valores 2 y 3 ya que el tres esa en el array2.
gracias de antemano.
  #2 (permalink)  
Antiguo 07/03/2016, 08:58
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: eliminar valores de un array pasandole otro array

Al final lo consegui con la funcion array_diff pero como lo podria hacer a la inversa insertar valores que no esten?
saludos
  #3 (permalink)  
Antiguo 07/03/2016, 09:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: eliminar valores de un array pasandole otro array

Código PHP:
Ver original
  1. $array1=array(1,2,3);
  2. $array2=array(3,4,5);
  3.  
  4. $merge = array_merge($array1, $array2);
  5. $unique_values = array_unique($merge);
  6. var_dump($unique_values);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 07/03/2016, 13:46
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: eliminar valores de un array pasandole otro array

Gracias me fue bien pero estoy teniendo problemas con array_diff ya que me elimina el indice y necesito trabajar con los indices ordenados si n faltar ninguna.
alguien sabria como lo puedo solucionar.
  #5 (permalink)  
Antiguo 07/03/2016, 14:32
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: eliminar valores de un array pasandole otro array

Lo maximo que consigo es esto:

Código PHP:
Ver original
  1. $array=array(1,2,3);
  2. //quiero eliminar el valor 2;
  3.  
  4. $clave=array_search($array,3);
  5. $array=array_slice($array, 0, $clave);
  6.  
  7. //resultado
  8. //1,3

funciona bien pero su indice no corresponde es decir
print_r($array);

[0]1
[2]3


yo lo que quiero es que al eliminar un valor del array el indice se ordente tambien, alguna idea para hacer esto?
saludos.
  #6 (permalink)  
Antiguo 07/03/2016, 14:42
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: eliminar valores de un array pasandole otro array

array diff compara y regresa los valores del primer arreglo que no están repetidos en los otros arreglos, pero te regresa un nuevo arreglo por lo cual no puedes mantener las key originales.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: Ninguno
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 04:09.