Hi romy,
bei der 4.0.4 arbeitet foreach() mit einer Art Kapselung, wie es die "normalen" Funktionen auch tun. Wenn also in foreach() ein Array definiert und belegt wird, dann geht es verloren. Wenn in foreach() ein Array als global definiert wird, dann wird das ja in jedem Durchgang wiederholt. Leider ist das Array erst nach der ersten Belegung vorhanden. Das bedeutet dann, dass der erste Wert verloren geht.
Wenn man das Array bereits außerhalb der foreach()-Schleife mit einem Wert belegt, also erzeugt hat, dann funktioniert auch das global innerhalb von foreach() vernünftig. Vielleicht hilft es auch, das Array außerhalb von foreach() zu deklarieren mit $feld = array();
Nur diese Vorgehensweise widerspricht der impliziten Variablendeklaration von PHP und ware dann nur als Workaraiund für eine äußerst schlampige Systemprogrammierung zu verstehen. Mich interessiert deshalb, ob das Problem in neueren Versionen behoben wurde.
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.