Moin!
> while(($data=fgetcsv ($handle, 1000,$this->delimiter)) !== FALSE ) {
> //anzahl felder pro reihe
> $cols=count($data);
> //reihe in einem 2 dimensionalen array speichern
> for($i=0; $i<$cols; $i++) {
> $table[$row][$i]=$data[$i];
> }
> //nächste zeile
> $row++;
> }
Das da läßt sich noch extrem verbessern. Warum die for-Schleife? Warum nicht einfach:
while(($data=fgetcsv ($handle, 1000,$this->delimiter)) !== FALSE ) {
//anzahl felder pro reihe
$cols=count($data);
$table[$row]=$data;
$row++;
}
$data ist ein Array, und du kopierst mit der for-Schleife jedes Feld dieses Arrays in neue Felder eines anderen Arrays. Das geht auch einfacher, indem einfach das ganze Array kopiert wird.
Und als zweite Stufe der Verbesserung:
while(($data=fgetcsv ($handle, 1000,$this->delimiter)) !== FALSE ) {
$table[]=$data;
}
$table wird am Anfang als leeres Array definiert, und mit nur [] am Ende wird automatisch $data als neues Element, automatisch aufwärts zählend im Index, angehängt.
Die Vorbelegungen jetzt nicht mehr genutzter Variablen können natürlich dann auch entfallen. :)
- Sven Rautenberg
--
My sssignature, my preciousssss!
My sssignature, my preciousssss!