Toon posts:

csv-file uitlezen in een array

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een "klein" probleempje.

Ik wil een csv-file uitlezen en deze in een array plaatsen. zet ik alles in een array werkt alles perfect, maar zo gauw ik een file uitlees werkt het niet meer.
Kan iemand mij vertellen waar ik overheen kijk?

De code om de file in te lezen:
code:
1
2
3
4
5
6
7
8
9
10
11
$CSVfile = "Locator.csv";
$name = "PA";
$array = "\""."aap"."\"";
$i =0;

$fp = fopen($CSVfile,"r");
    while ($data = fgetcsv($fp,500,";"))
    {
            $array2 = $data[0];
            $array .= (",\"".$array2."\"");
    }

De code die wel werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
$array=array("aap","PREFIX","1A","1S","3A","3B6","3B7","3B8");

sort($array);
reset($array);
echo"array is $array<p>\n";
echo"<br>\n";

while (list($key, $val) = each($array)) //want hier kan ik ook wat mee
{
    echo "regel[".$key."] = ".$val."<br>\n";
}

vervang ik nu:
code:
1
$array=array("aap","PREFIX","1A","1S","3A","3B6","3B7","3B8");

door:
code:
1
$array=array($array);

is het dus einde oefening.
Let aub niet op de benoemingen, want ik ben eerst aan het kijke of het eea aan de praat te krijgen is.

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Das ook logisch. Hij ziet $array gewoon als een lange string en niet als afzonderlijke elementen. Je kunt dan beter
PHP:
1
2
3
4
5
$fp = fopen($CSBfile,"r");
while($data=fgetcsv($fp,500,";"))
{
$array[] = $data[0];
}

doen. Dan wordt de array telkens met 1 element uitgebreid. Zo ben je in 1 keer klaar...

[ Voor 16% gewijzigd door SWfreak op 13-12-2003 19:15 ]


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
wat probeer je te bereiken met
PHP:
1
$array = array ($array);

heeft $array al een waarde? bestaat $array al?

Verwijderd

Topicstarter
Wat ik probeer te bereiken is om mbv de eerste code de array te vullen.
De array wordt in de eerste code als "aap","PREFIX","1A","1S","3A","3B6","3B7","3B8" gevuld.
Dit is de reden voor mijn tweede code als voorbeeld
De derde code probeer ik de $array om te zetten naar een array, omdat ik deze kan sorteeren (laatste code)

[ Voor 20% gewijzigd door Verwijderd op 13-12-2003 19:25 ]


Verwijderd

Topicstarter
SWfreak schreef op 13 december 2003 @ 19:14:
Das ook logisch. Hij ziet $array gewoon als een lange string en niet als afzonderlijke elementen. Je kunt dan beter
PHP:
1
2
3
4
5
$fp = fopen($CSBfile,"r");
while($data=fgetcsv($fp,500,";"))
{
$array[] = $data[0];
}

doen. Dan wordt de array telkens met 1 element uitgebreid. Zo ben je in 1 keer klaar...
mmm, Ik krijg dan helaas:
code:
1
Parse error: parse error, unexpected '=' in D:\index.php on line 4

Verwijderd

Topicstarter
Wat mij betrefd kan deze topic op slot, want het antwoord is:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
$CSVfile = "Locator.csv";
$fp = fopen($CSVfile,"r");
$array = array ();
    while ($data = fgetcsv($fp,500,";"))
    {
        array_push ($array,$data[0]);
    }

sort($array);
reset($array);

while (list($key, $val) = each($array))
{
    echo "test[".$key."] = ".$val."<br>\n";
}
?>
Pagina: 1