Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Nachhilfe ;-)
Frage
Hi,
ich hab gerade begonne, mir PHP reinzuziehen und versuche nun ein Übungsbeispiel zu lösen, komme aber nicht weiter :-):
Die Vorgabe lautet: "Erstellen Sie ein Array $wochentag, das alle Tage der Woche beinhaltet und geben Sie diese anschließend in einer Schleife aus"
Mein Code sieht so aus:
<?php
$wochentag = array("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
for ($wochentag=0 ; $wochentag<7 ; $wochentag++)
{
echo $wochentag;
}
?>
Bei der Ausgabe im Browser stehen dann aber nicht die Wochentage sondern die Ziffern 0-6, warum werden hier nicht die Wochntage angezeit sondern die Indexzahlen?
Vielen Dank im Voraus
lg PeterK
Antwort 1 von PeterK
haaaa!
hab die foreach-Schleife gefunden, jetzt funktionierts :-)
lg PeterK
hab die foreach-Schleife gefunden, jetzt funktionierts :-)
lg PeterK
Antwort 2 von disco
moin
hast zwar schon ne andere lösung gefunden, aber dein fehler lag daran, dass nicht das array augegeben hast, sondern den zähler "$wochentag". ausserdem überscheibst du das array $wochentag mit der zahl 0 indem du sagst:
for ($wochentag=0 ; $wochentag<7 ; $wochentag++)
somit hat das array sowieso nicht mehr existiert.
dein code hätte so aussehen müssen:
<?php
$wochentag = array("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
for ($i=0 ; $i<7 ; $i++)
{
echo $wochentag[$i];
}
?>
g,
disco
hast zwar schon ne andere lösung gefunden, aber dein fehler lag daran, dass nicht das array augegeben hast, sondern den zähler "$wochentag". ausserdem überscheibst du das array $wochentag mit der zahl 0 indem du sagst:
for ($wochentag=0 ; $wochentag<7 ; $wochentag++)
somit hat das array sowieso nicht mehr existiert.
dein code hätte so aussehen müssen:
<?php
$wochentag = array("Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag");
for ($i=0 ; $i<7 ; $i++)
{
echo $wochentag[$i];
}
?>
g,
disco
Antwort 3 von PeterK
@disco
aha, soso,
es funktioniert also doch auch mit der for-Schleife.
...und das i steht für das array?
...ist das immer so?
und wenn ich schreibe:
echo $wochentag[$i]<br>;
habe ich dann den Zeilenumbruch nach den Wochentagen?
ich glaub meine foreach-Schleife stimmt ja auch nicht ganz, oder? Wieso muss ich hier =>$wochentage schreiben?
foreach ($wochentag as $alle => $wochentage)
{
echo $wochentage , " <br>";
}
vielen Dank für deine Unterstützung
lg PeterK
aha, soso,
es funktioniert also doch auch mit der for-Schleife.
...und das i steht für das array?
...ist das immer so?
und wenn ich schreibe:
echo $wochentag[$i]<br>;
habe ich dann den Zeilenumbruch nach den Wochentagen?
ich glaub meine foreach-Schleife stimmt ja auch nicht ganz, oder? Wieso muss ich hier =>$wochentage schreiben?
foreach ($wochentag as $alle => $wochentage)
{
echo $wochentage , " <br>";
}
vielen Dank für deine Unterstützung
lg PeterK
Antwort 4 von disco
das $i ist der zähler der scheife. er fängt bei 0 an und endet bei 6. den brauchste um die positionen 0 bis 6 in deinem array anzusprechen.
$wochentag[0] entspricht montag
$wochentag[1] entspricht dienstag
usw.
in jedem durchlauf wird die zahl um $i um eins erhöht.
mit $wochentag[$i] spricht du also das array $wochentag an der position $i an, um an den inhalt zu kommen.
foreach benutz ich leider nicht, weil ich von java komme. aber soweit ich weiss müsste das so aussehen:
foreach ($wochentag as $alle)
{
echo $alle;
}
das array $wochentag wird bis zur letzten position durchlaufen und der inhalt der jeweiligen position in die variable $alle gepackt, so dass du sie im schleifenkörper verarbeiten kannst.
g,
disco
$wochentag[0] entspricht montag
$wochentag[1] entspricht dienstag
usw.
in jedem durchlauf wird die zahl um $i um eins erhöht.
mit $wochentag[$i] spricht du also das array $wochentag an der position $i an, um an den inhalt zu kommen.
foreach benutz ich leider nicht, weil ich von java komme. aber soweit ich weiss müsste das so aussehen:
foreach ($wochentag as $alle)
{
echo $alle;
}
das array $wochentag wird bis zur letzten position durchlaufen und der inhalt der jeweiligen position in die variable $alle gepackt, so dass du sie im schleifenkörper verarbeiten kannst.
g,
disco

