Hola:
Para recibir arrays en php el nombre debe terminar con un par de corchetes ("[]"), pero la forma de crear la url es replicando ese nombre...
"&modulos[]=" + modulos[0] + "&modulos[]=" + modulos[1] + ... + luego leyendo en php:
$m = $_GET["modulos"];... y count($m) ya tendría sentido.
Si quieres enviar un array sería así... recogerlos con javascript podría no ser necesario los corchetes, pero tiene su complejidad (respuesta en las FAQs)...
Por lo tanto el convertir el array a un string (usando split por ejemplo) podría ser buena solución... con php usarías implode().
Saludos