Hello,
$datei = file("Bereiche.txt");
$anzahl = count($datei);
foreach ($datei as $zeile) {
$eintrag[] = explode("|-|", $zeile);
}
echo "$eintrag[2]";
>
>
> Doch dann bekomme ich als Rückgabewert einfaches Arry. Und wenn ich die Datei mit fopen öffne und dann eine for Schliefe `for ($i=0; $i<Anzahl; $i+=5)`{:.language-php} durchlaufe gibt der mir auch immer nur die ersten 5 aus. Gesamtzahl der Zeilen beträgt 35.
>
> Wie solls also bitte aussehen?
Wenn Du die Aufgabe hättest, auf einer Landstraße jeden fünften Begrenzungspfahl rot anzustreichen, was machst Du dann mit dem 1., 2., 3., 4., 6., 7., 8., 9., 11., usw?
Du gehst einfach daran vorbei...
Genauso muss das Deine Schleife dann auch machen. Sie muss mitzählen und mur jeden 5. beachten.
$zeile\_nr = 0;
foreach($datei as $key => $zeile)
{
$zeile\_nr ++;
if ($zeile\_nr == 5)
{
## Zeile rot anmalen
## ...
## Zähler zurücksetzen
$zeile\_nr = 0;
}
}
Da die Funktion file() aber bereits einen geschlossenen Nummernkreis von 0 .. (n-1) als Keys in die Arrayelemente einsetzt, kannst Du auch gleich diesen Schlüssel benutzten:
foreach($datei as $key => $zeile)
{
if (($key + 1) % 5 == 0) ## Berechnung mit dem Modulo-Operator
{
## Zeile rot anmalen
## ...
}
}
Ich hoffe, dass es so klarer geworden ist.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>