I have (and am) develop(ed)(ing) systems with quite advanced dynamic tables, based on a users definitions etc (sort of an online form generator). The solution, IMHO, is as you say, to put them in an array. If you don't, you will most likely have a hard time separating data and determining whether or not its there at all.
So, first of all, decide a name for your array. I will choose formVals for this example.
<input type="text" name="formVals[field1]" size="5">
<input type="text" name="formVals[]" size="5">
The first example would make an assosiative array of the inputs, and you could easily find the belonging fieldname to a value without querying db. The latter one sounds like the asp solution you mentioned, where formVals[0] = field1, formVals[1] = field2, and so on.