Hej,
Jag har en csv fil som är semikolon separerad med x antal rader och 4 kolumner.
Sprang på det här skriptet på nätet:
[<?
function csv_explode($str, $delim = ',', $qual = "\"") {
$len = strlen($str);
$inside = false;
$word = '';
for ($i = 0; $i < $len; ++$i) {
if ($str[$i]==$delim && !$inside) {
$out[] = $word;
$word = '';
} else if ($inside && $str[$i]==$qual && ($i<$len && $str[$i+1]==$qual)) {
$word .= $qual;
++$i;
} else if ($str[$i] == $qual) {
$inside = !$inside;
} else {
$word .= $str[$i];
}
}
$out[] = $word;
return $out;
}
Nu vill jag läsa in min csv fil och sen skriva ut resultatet som en HTML tabell.
Såhär har jag testat:
$template = "./data.csv";
$fp = fopen($template, "r");
$data = fread($fp, filesize($template));
fclose($fp);
$res = csv_explode($data, $delim = ";", $qual = "\"");
for($i = 0; $i <= sizeof($res); $i++){
echo $res[$i] . " " . (($i % 4 == 0) ? "<br />" : "");
}
Tanken är att till en början skriva ut resultatet såhär:
ID1 KOL1_1 KOL1_2 KOL1_3
ID2 KOL2_1 KOL2_2 KOL2_3
....
Men skriver jag ut arrayen som den här funktionen ovan skapar, blir det:
Array
(
[0] => NAMN1
[1] => 90
[2] => 20
[3] => 110
NAMN2
[4] => 20
[5] => 80
[6] => 100
NAMN3
[7] => 60
[8] => 30
[9] => 90
)
"Namn2", "Namn2" osv. verkar hamna utanför min array, eller vad är det som händer?
Jag skulle vilja att array'en såg ut såhär:
Array
(
[0] => NAMN1
[1] => 90
[2] => 20
[3] => 110
[4] => NAMN2
[5] => 20
[6] => 80
[7] => 100
[8] => NAMN3
[9] => 60
[10] => 30
[11] => 90
)
Hur skriver man om funktionen ovan för att uppnå detta?
Tack!