E' proprio la funzione di verifica che non va, in_array ha un comportamento non lineare, ho cambiato il metodo di verifica con un foreach