fgetcsv() und parsen der cvs Datei
droom
- php
Meine CVS Datei "Tafel.cvs" sieht folgendermaßen aus:
Site1;;;;;;;
;Subsite1a;;;;;;
;Subsite1b;;;;;;
Site2;;;;;;;
;Subsite2a;;;;;;
;Subsite2b;;;;;;
;Subsite2c;;;;;;
Site3;;;;;;;
;Subsite3a;;;;;;
;Subsite3b;;;;;;
usw.
Ich möchte irgendwie herausbekommen:
Site 1 hat Untersubseite: Subsite1a,Subsite1a
Site 2 hat Untersubseite: Subsite2a,Subsite2b,Subsite2c
Ich habe so angefangen:
function parse(){
$row = 1;
$handle = fopen("scripts/tafel.csv", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
if($data[0] !="") $out .= $data[0]. "hat Untersubseite";
// hier kommt was ich nicht weiss
}
fclose($handle);
return $out;
}
weißt jemand was noch in der Funktion kommen soll, damit ich das gewünschte erreiche?
Das Beste wäre, wenn ich aus
Site1;;;;;;;
;Subsite1a;;;;;;
;Subsite1b;;;;;;
Site2;;;;;;;
;Subsite2a;;;;;;
;Subsite2b;;;;;;
;Subsite2c;;;;;;
Site3;;;;;;;
;Subsite3a;;;;;;
;Subsite3b;;;;;;
so ein Array bekommen würde:
$ar[0] =Site1
$ar[0][0]= Subsite 1a
$ar[0][1]= Subsite 1b
$ar[1] =Site2
$ar[0][0]= Subsite 2a
$ar[0][1]= Subsite 2b
$ar[0][2]= Subsite 2c
usw.
Hello,
function parse()
{
$row = 1;
$handle = fopen("scripts/tafel.csv", "r");
while (!fof($handle)) ## Die Datei ist erst zuende am Dateiende und nicht
## bei der ersten "leeren Zeile"
{
if ($data = fgetcsv($handle, 1000, ";")) !== FALSE) ## Wenn die Zeile leer ist
{
if($data[0] !="") $out .= $data[0]. "hat Untersubseite";
// hier kommt was ich nicht weiss
}
}
fclose($handle);
return $out;
}
Nur so nebenbai...
Die Datei ist erst zuende am Dateiende und nicht bei der ersten "leeren Zeile", für den Fall, dass Deine persönlichen CSV-Regeln das zulassen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom