Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Wer erklärt mir mal eine foreach Schleife (@Xafford??)

Darren / 4 Antworten / Baumansicht Nickles

Hi, ich brauche sowas mal zum Verständnis


foreach ($1 as $2)


Was genau passiert in dieser Zeile, was sagt sie mir??

bei Antwort benachrichtigen
Borlander Darren „Wer erklärt mir mal eine foreach Schleife (@Xafford??)“
Optionen

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.

bei Antwort benachrichtigen
Borlander Nachtrag zu: „Hallo Darren, foreach verwendet man um Arrays zu durchlaufen. foreach 1 as 2...“
Optionen

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>'; }

bei Antwort benachrichtigen
Borlander Nachtrag zu: „So sollten die Beispiele ausshen: foreach array as anzeige echo anzeige Das ist...“
Optionen

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>'; }

bei Antwort benachrichtigen
xafford Darren „Wer erklärt mir mal eine foreach Schleife (@Xafford??)“
Optionen

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.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen