vacio multidimensional functions elementos ejemplos asociativo array agregar php arrays

php - multidimensional - ¿Cómo comparar dos matrices y eliminar elementos coincidentes de uno para el siguiente ciclo?



php array functions (5)

¿De qué otra forma podría comparar dos matrices ($ A y $ B) y reducir los elementos coincidentes de la primera para preparar el siguiente ciclo sobre la matriz $ A?

$A = array(1,2,3,4,5,6,7,8); $B = array(1,2,3,4); $C = array_intersect($A,$B); //equals (1,2,3,4) $A = array_diff($A,$B); //equals (5,6,7,8)

¿Es esta la manera más simple o hay una forma de usar otra función en la que no he pensado? Mi objetivo es tener una matriz en la que pueda iterar, extrayendo grupos de contenido relacionado (he definido esas relaciones en otro lugar) hasta que la matriz devuelva falso.


Ver también array_unique . Si concatenas las dos matrices, entonces se eliminarán todos los duplicados.


Oye, mejor solución: array _ uintersect. Esto le permite comparar las matrices según array_intersect, pero luego le permite comparar los datos con una función de devolución de llamada.


Intenta esto

$a = array(0=>''a'',1=>''x'',2=>''c'',3=>''y'',4=>''w''); $b = array(1=>''a'',6=>''b'',2=>''y'',3=>''z''); $c = array_intersect($a, $b); $result = array_diff($a, $c); print_r($result);


Querida manera fácil y limpia

$clean1 = array_diff($array1, $array2); $clean2 = array_diff($array2, $array1); $final_output = array_merge($clean1, $clean2);


Tu lo tienes. Solo use array_diff o array_intersect . No es mucho más fácil que eso.

Editar: por ejemplo:

$arr_1 = array_diff($arr_1, $arr_2); $arr_2 = array_diff($arr_2, $arr_1);

Fuente