2014-11-11 10 views
7

Ich habe eine CSV-Datei mit 3 Spalten: E-Mail-Adresse, Vornamen und Nachnamen. Ich habe die Bühne, wo ich das Array ausdrucken kann mit dem folgenden Code:Looping durch eine csv mit fgetcsv

<?php 
$file = fopen("testEmails.csv","r"); 

while(! feof($file)) 
{ 
print_r(fgetcsv($file)); 
} 

fclose($file); 
?> 

Dies das Array druckt, so dass jedes Feld in einer Reihe. Was ich drucken möchte, sind rein die Werte in der ersten Spalte der Zeile. Wie das gemacht werden sollte, scheint Dokumentation auf fgetcsv sehr skizzenhaft zu sein (ein relativer Anfänger).

Danke.

+0

Hast du offizielle Hilfe überprüfen? http://php.net/manual/en/function.fgetcsv.php – Sal00m

Antwort

12

Das erste Beispiel in der fgetcsv Dokumentation enthält die Nuggets von was Sie brauchen.

http://php.net/manual/en/function.fgetcsv.php

while (($data = fgetcsv($file)) !== FALSE) { 
    echo "email address " . $data[0]; 
} 

fgetcsv gibt ein numerisch indiziertes Array die Spalten darstellt, so dass Sie die erste Spalte drucken möchten einfach.

1

Sie sind ganz in der Nähe. Sie haben bereits das Array, so dass Sie einfach die erste Spalte drucken können.

Aber Sie könnten auch fgetcsv selbst als die Steuerungsvariable für die Schleife verwenden.

while (($array = fgetcsv($file) !== FALSE) { 
     print_r($array[0]); 
} 
0

Statt print_r können Sie versuchen, echo

<?php 
$file = fopen("testEmails.csv","r"); 

while(! feof($file)) 
{ 
echo fgets($file). "<br />"; 
} 

fclose($file); 
?>