Tach!
Ich würde einen eindeutigen Wert in den []-Klammern vorgeben.
Meinst du das in etwa so?
Ja.
Was meinst du denn mit diesem Satz, diesen verstehe ich leider nicht!
foreach kennt eine Syntax, bei der man auch den Key geliefert bekommt.
Da muss ich jetzt raten, was genau du daran nicht verstehst. Ist es, dass du die beiden Arten von foreach nicht kennst? Dann gibt das PHP-Handbuch darüber Auskunft: http://php.net/foreach. Du hast die Variante genommen, die nur den Wert des aktuellen Array-Eintrags liefert. Der entspricht dem, was der Nutzer in das Input-Feld eingegeben hat.
Über diesen Key kannst du dann im Vornamen-Array das zugehörige Element finden. Deswegen die händische Key-Vorgabe, damit sie hier garantiert zusammenpassen.
Um auf die zugehörigen anderen Input-Felder zugreifen zu können, benötigst du nun auch noch den Schlüssel, den du dir ja jetzt vermutlich hinzugefügt hast. Allein daran siehst du nun schon im HTML-Code, welche Felder zusammengehören. Unter PHP kannst du nun mit $_POST['name'][$key] und $_POST['vorname'][$key] ebenfalls auf die zugehörigen Felder zugreifen.
Übrigens gibt es auch noch einen anderen Weg. Wenn du die Namen wie folgt vergibst
<input ... name="person[1][name]">
<input ... name="person[1][vorname]">
<input ... name="person[2][name]">
<input ... name="person[2][vorname]">
kannst du unter PHP mit einem einfachen foreach ($_POST['person'] as $person) durchlaufen und hast mit $person ein Array, das alle Daten der Person enthält. Mach mal ein print_r($_POST), dann siehst du wie das aussieht und vermutlich auch den Vorteil darin. (Vorher ein <pre> ausgeben erhöht die Übersichtlichkeit der print_r-Ausgabe.)
dedlfix.