Hola:
Hay algunas cosillas que no entiendo...
Si quieres saber si algo está checked, no lo compares con 0... (ni con ninguna otra cosa...)
if(document.formulario.elements[i].checked)
La línea del explode no la entiendo... en javascript se usa split para convertir a array y join...
Y si tienes un nombre con corchetes (supongo para enviar arrays a php, ese nombre con javascript tienes que referenciarlo con una cadena entre corchetes...
document.formulario["codmat[]"][j].value = codmat[1];
Aunque como no sé tu intención, tal vez no haya atinado del todo...
Saludos