Cita: Pero tenia entendido que la funcion
array_intersect y array_diff hacen el mismo trabajo
No, no son lo mismo.
array_
intersect encuentra los elementos que se
intersectan en ambas matrices, es decir, los
comunes.
Mientras que array_
diff encuentra la
diferencia.
Deacuerdo al manual de array_diff:
Cita: array_diff() devuelve una matriz que contiene todos los valores de array1 que no aparezcan en ninguna de las otras matrices que se pasan a la función como argumento. Hay que tener en cuenta que las claves se mantienen.
Es decir, que para encontrar las diferencias entre ambas, primero tienes que hacer la diferencia entre $array1 y $array2, y luego viceversa (usar dos veces la funcion) para que te de los elementos que no coinciden de ambas matrices (puedes juntar los resultados usando array_merge).