Ver Mensaje Individual
  #8 (permalink)  
Antiguo 22/05/2014, 06:43
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Necesito eliminar lo que coinda en dos arrays

Cita:
Iniciado por quimfv Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2.  
  3. $array1 = array( 2, 2, 3, 5, 7, 13);
  4. $array2 = array( 2, 3, 3, 7, 11, 13);
  5.  
  6. $intersec = array_intersect($array1,$array2);
  7.  
  8. foreach ($array1 as $key=>$val)
  9.     if(in_array($val,$intersec)){
  10.         unset($array1[$key]);
  11.         unset($array2[array_search($val,$array2)]);
  12.         unset($intersec[array_search($val,$intersec)]);
  13.         echo "Eliminando $val ..<br/>";
  14.     }

De esta manera solo se eleiminara el primer 2....

Pero si defines mejor en que casos los elementos "coindan" se podrá mejorar el script, o darlo por bueno.
Esta SEGURO ?

Lo cierto es que el problema no esta 100% definido.... asi el resultado cambia si se intercambian $array1 con $array2 y obviamente si se hace:

Código PHP:
Ver original
  1. $array1 =array_unique($array1);
  2. $array2 =array_unique($array2);

... porque hay elementos repetidos DENTRO de cada arreglo...y no se define que hacer con ellos
__________________
Salu2!

Última edición por Italico76; 22/05/2014 a las 06:52