Foreach-Schleifen Problem!
Moin,
ich habe eine Foreach-schleife und möchte gerne eine Variable einfügen, damit ich weiß, den wievielten durchlauf die Schleife hat. Also quasi wie bei einer For-Schleife das "i". (i=0; i++). Wenn ich eine Varible nehme und sie am ende der Schleife (vor die Geschweifteklammer) $Durchlauf = $Durchlauf + 1; sach, dan geht das nicht! Wie kann ich das machen? |
warum nimmst du in dem fall nicht einfach ne for schleife?
PHP-Code:
|
das ist zwar auch gut, aber ich benötige/habe ja ne Foreach-Schleife. Die ließt nämlich Daten zeilenweise aus einer Datei aus. Jetzt brauche ich allerdings eine Möglichkeit, um in einer generierten HTML Datei zwischen den verschiedenen Zeilen zu differenzieren, weil diese tabellarisch formatiert wurden. Der User kann dann noch Veränderungen vornehmen, aber dazu brauch ich ja irgendeinen Anhaltspunkt, welche der Zeile nun verändert werden soll. Das wolte/will ich mit dem $Durchlauf machen. Und dazu brauche ich bei der foreach-Schleife quasi ein "i".
oder habt ihr eine andere Idee, wie ich zeilenweise auslesen kann und jede zeile mit einer anderen Zahl ($Duchrlauf) deklarieren kann!? |
Moin Satherlor,
könntest Du mal ein bissl Code posten. Gruss |
$IP = $_SERVER['REMOTE_ADDR'];
$datensatz_array = file("../warenkorb/$IP.txt"); // mit dieser foreach-schleife wird der Datensatz durchforstet. foreach($datensatz_array as $datensatz){ // hier zerlegen wir den aktuellen datensatz an des trennzeichens "~" $datenzelle = explode('~', chop($datensatz)); //Daten liegen in Form von 123~123~123~123~123 vor! $Durchlauf = "0"; . . . <td valign=center align=left bgcolor="#c3c7e1"> <FONT FACE="Arial, Helvetica" COLOR="black" SIZE="-1"><?= $datenzelle[0]; ?> </FONT> </td> (usw.) . . . $Durchlauf = $Durchlauf + 1; } |
Hi,
evtl. ist es geschickter die Variable vor der Schleife zu initialisieren: PHP-Code:
|
Daten in der Datei:
123~123~123~123 456~456~456~456 789~789~789~789 so, wenn ich nun mit der foreach schleife das auslese und wie in dem geposteten Script dann das "~" enferne und dann für jede Zeile $datenzelle[0],$datenzelle[1],$datenzelle[2],$datenzelle[3] hab und der User die möglichkeit hat was zu verändern, dann bringt es mir ja nichts, dass ich weiß, dass die $datenzelle[2] in 999 verändert wurde, weil ich ja noch wissen muss welche Zeile das war. Deshalb brauch ich das $Duchlauf. Mein Server ist gerade ausgefallen, deswegen kann ich im moment das nicht ausprobieren. Aber thx erstmal! |
Zitat:
PHP-Code:
|
Jaaaa, danke! Geht jetzt! Weiß nicht, ob es jetzt daran lag oder an einer anderen Veränderung, die ich vorgenommen hab, aber es geht!
|
@sourcecode
Logo, PHP "verzeiht" es zwar, es ist aber unsauber. Daher ein wichtiger Hinweis von Dir. @Satherlor Hast Du Dir schon Gedanken gemacht wie Du die veränderten Infos wieder zurück in die Datei schreibst? Sind in jeder Zeile immer die gleiche Anzahl an Informationen? Eine Idee, die ganzen Zähler brauchst Du evtl. gar nicht: PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49:42 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.