[PHP] jede zweite zeile auslesen

sunny2k

Ensign
Registriert
Okt. 2002
Beiträge
151
Hi Freaks,

nachdem ich nun 3 Stunden rumgesucht habe und nichts gefunden habe, wende ich mich nun an euch. Folgendes: Wie kann ich mit php aus einer Textdatei jede zweite Zeile auslesen, bzw die Zeilen 1,3,5,7,9 oder 2,4,6,8?

Äh ja, hoffentlich reicht das an info.

Dank im Vorraus
sunny
 
zB indem du jede Zeil einzeln mit fgets() ausliest und nur jede 2. dann weiterverarbeitest :)
 
du liest die Datei ganz normal in nen Array und gehts den dananch in etwa so durch:

PHP:
for($i=0;$i<$array1laenge;$i++)
{
  $array2[]=$array1[$i];
  $i++;
}
 
wowdi,
erstmal Danke das das so schnell ging.
^^ Die Lösung funzt wunderbar, danke danke

sunny
 
kürzer wäre aber:
PHP:
for($i=0;$i<$array1laenge;$i+=2)
  $array2[]=$array1[$i];
:D
 
Und noch besser wäre es, die Länge des Arrays vor der Schleife zu bestimmen und in einer Variablen zu speichern, auf die in der Schleife dann zurückgegriffen wird. So muss nicht jedes Mal die Länge neu berechnet werden, was Rechenzeit spart :D.
 
Loopo schrieb:
kürzer wäre aber:
PHP:
for($i=0;$i<$array1laenge;$i+=2)
  $array2[]=$array1[$i];
:D


^^kürzer ja, aber nicht schneller.

++ ist eine registeroperation während += eine normale addiotion ist, die weitaus mehr taktzyklen braucht.
 
pcwTJaR schrieb:
^^kürzer ja, aber nicht schneller.

++ ist eine registeroperation während += eine normale addiotion ist, die weitaus mehr taktzyklen braucht.


Na dann eben so: :D
PHP:
for($i=0;$i<$array1laenge;$i++)
{
  $array2[]=$array1[$i++];
}

Ciao
 
Ach, Quark :)
PHP:
$arraylaenge = sizeof($array1)>>1;
for ($i=0;$i<$arraylaenge;$i++) $array2[]=$array1[$i<<1];
:)
 
</Life> schrieb:
Ach, Quark :)
PHP:
$arraylaenge = sizeof($array1)>>1;
for ($i=0;$i<$arraylaenge;$i++) $array2[]=$array1[$i<<1];
:)
Das musst du mir jetzt mal erklären. Was willst du damit erreichen, wenn du den Links-Shift- bzw. Rechts-Shift-Operator anwendest?
 
Zurück
Oben