Si mas o menos eso es lo que hace...
1. Unimos todo con array_merge
2. usamos array_values para reordenar la numeración de los índices (ya que eliminamos uno y quedaría el salto).
3. Serializamos los arrays internos en cadenas
4. Teniendo estas cadenas sacamos las repetidas con array_unique
5. Volvemos a serializar para obtener el resultado final
A ver si así se entiende más:
Código PHP:
Ver original$union = array_merge($array1, $array2); //Unimos los 2 array
$resultado = array_values //indexamos el array externo para quitar los saltos (array_map("unserialize", //le decimos que tiene que aplicar la función unserialize array_unique( //a todos los elementos únicos de lo que resulte de array_map("serialize", $union) //aplicar serialize a la $union )));
PD: te coloqué un segundo ejemplo para que entiendas mejor el proceso, porque array_map te puede confundir.
Saludos.