Dado:
<input type="text" name="foo[]" />
<input type="text" name="foo[]" />
etc...
em seu formulário, você faria um loop sobre eles com
foreach($_POST['foo'] as $index => $value) {
...
}
O
[]
no campo name será removido pelo PHP e usado como uma dica de que ele deve esperar vários valores com o mesmo nome, fazendo com que ele crie um sub-array dentro de $_GET/$_POST para acomodar esses valores extras. Você também pode sugerir quais chaves de array o PHP deve usar, por exemplo
<input type="text" name="foo[1]" value="hi there" />
<input type="text" name="foo[abc]" value="TGIF!" />
echo $_POST['foo'][1]; // outputs "hi there"
echo $_POST['foo']['abc'] // outputs "TGIF!"
Arrays multidimensionais também são suportados, usando os mesmos métodos de notação/acesso.