Cuidado con array_diff y con array_intersect, ambos requieren una doble validación.
Y digo doble, porque solo estas comparando 2 arrays, si quisieras verificar 50, necesitarías 50 validaciones, es decir tantas validaciones como numero de arrays a comparar.
Dicho de otra forma, usar esas validaciones da como resultado una complejidad lineal, que ademas, debes de programar a mano.
Lo que te propongo para solventar eso, es:
1) Junta a todos los arrays en uno solo mediante
array_merge.
2) La funcion anterior sera el argumento de
array_unique.
3) Compara el
count de cualquier array con el que retorno el punto 2.
Eventualmente, si tus arrays incluyen claves asociativas, debes emplear
array_values antes del array_merge del punto 1.