Fehler im arry - Warning: Undefined offset: 1

fantalight

Grünschnabel
Hallo,

ich wollte eine Seite meiner Homepage für die News dynamisch gestalten und habe auf diesen Seiten hier ein Tutorial zum Lesen und Schreiben in Textdateien gefunden. Hier:
http://www.tutorials.de/tutorials15692.html

Anmerkung offtopic: Ich schaffe es leider nicht PHP-Code hier so einzufügen, dass er auch dargestellt wird. Auch nicht unter Verwendung des entsprechenden Tags. Hier der Code als Textdatei zur Ansicht auf meinem Webserver:
http://www.faszination-tauchsport.de/beispiel.txt

Leider erhalte ich beim Ausführen immer folgende Fehlermeldung:
Warning: Undefined offset: 1 in /usr/local/httpd/htdocs/.... on line 51
(Pfad gekürzt)
Soweit ich das Nachlesen konnte, hängt das wohl mit dem Array zusammen, welches ja bei mir IMHO nur 2dimensional ist. Kann mir jemand sagen, warum der Fehler auftritt? Das Beispiel von ganz oben (siehe Link) funktioniert unverändert ja einwandfrei.

Vielen Dank für Eure Hilfe!
Gruß
Thom
 
Die Fehlermeldung besagt, dass der gegebene Array nur 1 Element enthält. Dies sollte bei dir der Fall sein, wenn in einer Zeile nicht die Zeichenfolge
Code:
|-|
vorhanden ist.
 
Hallo Sven,

in allen Zeilen ist der entsprechende String enthalten! Das habe ich überprüft.
Wenn ich die Datei aus diesem Beispiel (Lesen und Schreiben in eine Datei):
http://www.tutorials.de/tutorials15692.html
..ausprobiere, dann klappt das auch.

Ich habe dann einen Teil des Scriptes in meine Webseite geschrieben. Der Dateiinhalt wird zwar ausgegeben, aber es erscheint eben die Fehlermeldung. Hast Du noch eine Idee?

Das eche isset habe ich zur Überprüfung des array eingegeben. Das Ergebnis siehst Du hier:
http://www.faszination-tauchsport.de/beispiel.php

Warum ist beim ersten Element im Array der Index 1 und 2 nicht vorhanden? Warum überhaupt 3 Indexe? Entspricht Index der Dimension? Wenn ja, dann ist das bei mir doch nur 2dimensional ([0] und [1]) oder? Klär mich doch bitte mal jemand auf!

Danke!
Gruß
Thom
 
Habe das Problem selbst gelöst!
Was mich immer wieder irritierte war, dass das Script offenbar eine Zeile mehr als in der Textdatei vorhanden auszugeben versuchte. Der Beitrag von Tob hier:
http://www.tutorials.de/tutorials24833.html&highlight=Undefined+offset

hat mich darauf gebracht. Deshalb habe ich die Zeile zum Durchauf des Inhaltes der Textdatei geändert
von:
for($i = 0; $i < $anzahl; $i++)
in:
for($i = 1; $i < $anzahl; $i++)

Jetzt klappt es und es werden auch nur 3 Zeilen ausgegeben. Allerdings verstehe ich nicht ganz warum? Im Originalbeispiel stand ja auch die 0 drin. Was passiert in der for-Schleife? Die Anzahl Zeilen der Textdatei wird durchlaufen. Wie man in meiner Beispieldatei hier sieht:
http://www.faszination-tauchsport.de/beispiel.php
wird diese Anzahl ja immer mit einer Zeile zuviel angegeben. Da steht die 5 gleich zu Anfang (ohne Zeilenumbruch). Das ist der count von Inhalt-Textdatei. Es sind aber nur 4 Werte eingetragen! Könnte mir das vielleich noch jemand zum besseren Verständnis erklären?

Danke!
Thom
 
Zurück