Sin ánimos de ofender... el que esta equivocado eres tu, el código que muestras no tiene nada que ver con lo que preguntaste en un comienzo, que te recuerdo que era enviar el formulario como un arreglo (array) para después leerlo dentro de un foreach no? de hecho lo intentaste y te arrojo un error....
Cita: este es el codigo que estoy usando, pero me tira este error "Invalid argument supplied for foreach()"
Para tu información el error es porque $_POST['nomes_mp'] no es un array, es un string,si hubieras dicho que es necesario dar un name diferente a cada input te hubiera dado el ejemplo que diste, la solución que te, di el navegador envía "nomes_mp" como un arreglo, conteniendo todos los valores de los campos que tengan como "name" "nomes_mp[]" para después leerlos como tenias el código en un comienzo...
Código PHP:
Ver original//Formulario.....
for($i=0; $i<100; $i++) {
echo '<input type="text" name="nomes_mp[]" value="valor: '.$i.'">';
}
//y luego lo recoges simplemente....
foreach($_POST['nomes_mp'] as $item) {
echo 'item con valor: '. $item;
}
Ahora, por ultimo, la razón por la que doy esta explicación es para aclarar que la respuesta que di es tan valida como la que diste y no confundir a los usuarios que apenas comienzan en PHP