PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP verständnisproblem mit foreach Schleife


Joe
2004-12-18, 16:23:47
Ich hab noch kleine Verständnisprobleme mal angenommen ich hab einen Array mit Wochentagen und will mir die einzelnen Tage anzeigen lassen sieht das ja so aus:


<?php
$wochentag = array("Montag","Dienstag","Mitwoch","Donnerstag","Freitag","Samstag","Sonnatag");

foreach($wochentag as $tage => $tag) {
echo $tag , " "; }
?>


Array usw alles klein Problem aber mt der foreach schleife hab ich ein kleines problemchen mit den Variablen

also
foreach($wochentag <- Bis dahin is klar
also für jeden wochentag und das $tage ist eine Hilfsvariable oder? Steht die für die Elemente im Array? und dann das => heisst das das die variable $tage einfach nur 1:1 auf die variable $tag überschrieben wird?!

Gast
2004-12-18, 17:37:05
Die Variable $tage bei dir, enthält den Key des Arrays (in deinem Fall 0, 1, 2..).
Die Variable $tag enthält den Wert (Montag, Dienstag...).

Überschrieben wird also gar nichts.

Ach ja, wenn du eh nur den Wert brauchst, kannst du das $tage => weglassen und einfach $wochentag as $tag schreiben.

Schau übrigens mal hier: http://ch2.php.net/foreach

Joe
2004-12-18, 18:09:22
Wenn ich das richtig verstanden habe ist also das $tage die zuordnung bei mehrdimensionalen sachen oder wenn ich zB
Woche1
. Montag
. Dienstag usw
Woche2
. Montag
. Dienstag usw

habe ist das $tage die woche und $tag der tag?!
Oder die Nummer des Arrays [0] [1] [2] usw?!

Gast
2004-12-18, 18:44:11
Ich bin nicht sicher, ob ich dich richtig verstanden habe...

Eigentlich ist es der "Schlüssel" des Arrays. Beim Array array("Tag1" => "Montag", "Tag2" => "Dienstag", "Tag3" => "Mittwoch"); wäre Tag1 der Schlüssel und Montag der Wert. Bei dir ist es eben die "Nummer", da du die Keys nicht explizit deklariert hast.

Bei Mehrdimensionalen Arrays wäre in $tage ebenfalls der Key vorhanden, und in $tag die nächste Stufe des Arrays.

Joe
2004-12-18, 19:29:29
ah nu rall ichs also praktisch die nummer des arrys wenn ich ihn ausfürlich schreib zb

$var[0]=mo
$var[1]=di