revisa si la función in_array soporta
recursión, en tal caso debes aplicar una forma recursiva, exceptuando si el array tiene 2 dimensiones exactas, por el cual puedes usar la forma de matriz y hacer 2 ciclos para recorrerlo por completo
PD: no entiendo para que repites el in_array con
! a no ser que cambies en el primer ciclo