Hi, ich brauche sowas mal zum Verständnis
foreach ($1 as $2)
Was genau passiert in dieser Zeile, was sagt sie mir??
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
Hallo Darren,
foreach verwendet man um Arrays zu durchlaufen.
foreach ($1 as $2)
bewirkt, dass der Variable $2 nacheinander alle Felder des Arrays $1 zugewiesen werden. In der folgenden Anweisung / im folgenden Anweisungsblock kann mit der Variable $2 gearbeitet werden. Damit lässt sich z.B. auf Einfache Art un Weise ein Array anzeigen:
foreach ($array as $anzeige)
{ echo "$anzeige
"; }
Das ist wesentlich einfacher als z.B.:
for (i=0; i { echo $array[$i].'
'; }
CU Borlander
PS: Die Variablennamen $1 und $2 sind ungültig! Variablennamen müssen mit einem Buchstaben oder dem Unterstrich anfangen gefolgt von einer beliebigen Anzahl von Buchstanben, Unterstrichen und Zahlen.
So sollten die Beispiele ausshen:
foreach ($array as $anzeige)
{ echo "$anzeige<br>"; }
Das ist wesentlich einfacher als z.B.:
for (i=0; i { echo $array[$i].'<br>'; }
Noch ein < vergessen zu erstzen. Jetzt muss es wirklich komplett sein:
So sollten die Beispiele ausshen:
foreach ($array as $anzeige)
{ echo "$anzeige<br>"; }
Das ist wesentlich einfacher als z.B.:
for (i=0; i<count($array); i++)
{ echo $array[$i].'<br>'; }
im prinzip schließe ich mich borlander an, es gäbe da nur ein paar ergänzungen.
foreach durchläuft die werte (und die schlüssel) der ersten dimension eines array. dies wird wichtig, wenn man ein mehrdimensionales array in einzelwerte darstellen will. hier mal ein kleines beispiel:
$array ist ein beispielarray mit 2 dimensionen und es besteht aus folgenden werten:
$array[0][0]="a";
$array[0][1]="b";
$array[1][0]="c";
$array[1][1]="d";
lasse ich jetzt foreach über $array laufen, so bekommt die zuweisungsvariable (in deinem fall $2) keinen string als wert, sondern wieder ein array:
foreach($array as $value){print("$value");}
daraus folgt die darstellung:
array
array
da nur nach der ersten dimension aufgesplittet wird also wird:
$value[0]=$array[0][i]=array("a","b");
will ich alle dimensionen aufschlüsseln, so muß man rekursiv arbeiten oder foreach-schleifen schachteln.
es gibt noch einen wichtigen aspekt bei foreach-schleifen, nämlich, daß man nicht nur die werte, sondern auch die schlüssel auslesen kann. hier ein beispiel dazu:
$array=array("apfel"->"gruen","birne"->"gelb","kirsche"->"rot");
foreach($array as $key->$value){print("$key ist $value");}
dies führt zur darstellung:
apfel ist gruen
birne ist gelb
kirsche ist rot
ich hoffe die erklärung hilft dir weiter.