Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Variable übernimmt Wert nicht

Hi,
ich lese aus einer CSV Datei Werte ein. Öffnen der Datei und
Werte lesen klappt einwanfrei. Nun möchte ich den letzten Wert
erhalten und ihn in $max speichern:

for($i=1;!feof($fp); $i++) {
$array = fgetcsv($fp,100,";");
$stuecke["$array[4]"];
$stuecke[$array[4]]["name"] = $array[4];
$stuecke[$array[4]]["nummer"] = $array[6];
$max = $array[0]; // beim letzten Durchlauf bleibt letzter Wert in $max
echo $max; // Ausgabe 1
}
echo $max; //Ausgabe 2

Bei der ersten Ausgabe stimmt alles. Bei der zweiten Ausgabe ist die Variable $max
leer. Ist das weil ich aus einer Datei lese(Pointer) ?
MfG
vox24

Hier gehts zum Orginal Eintrag "Variable übernimmt Wert nicht" im Forum

Antworten

Hast du am Ende der Datei vielleicht noch eine Leerzeile?

*** Nobody ***


2.

Nein.


3.

Tja, dann sagt mir das auch nicht viel. Außer

Standard-Antwort:
Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An den Anfang des Scriptes schreibt man die Zeile: error_reporting(E_ALL);
4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt.

*** Nobody ***


4.

hmm seltsam...ich würde 2 Sachen probieren.

1. echo $max; // Ausgabe 1
ersetzen mit
echo $i.":".$max; // Ausgabe 1
einfach um zu wissen wo der hase läuft ;)

2. du benutzt eine for schleife... ich benutze for schleifen nur als zählschleifen...
die abbruchbedingung hängt dann auch direkt vom zähler ab..deine abbruchbedingung ist ein bool
probiere mal aus deiner for ein while zu machen....
hat vielleicht...aber wirklich nur vielleicht was mit kopf und fuss gesteuert zu tun....


5.

Hi,
hab den Fehler mit Tip 1. gefunden. Der geht
die Schleife einmal mehr durch als angenommen
und liest eine "Leerzeile" ein auch wenn es die
eigentlich garnicht gibt. Das lässt dich ja abfangen.
Danke gambie....
MfG
vox


Hier gehts zum Orginal Eintrag "Variable übernimmt Wert nicht" im Forum
 
phpforum.de | Impressum