Цикл через CSV с Fgetcsv

У меня есть CSV-файл с 3 столбцами: адрес электронной почты, имя а также Фамилия. У меня есть этап, на котором я могу распечатать массив, используя следующий код:

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

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

fclose($file);
?>

Это печатает массив, поэтому каждое поле в строке. То, что я хочу, чтобы это напечатало, является просто значениями в первом столбце строки. Как бы это было сделано, документация по fgetcsv мне кажется очень схематичной (относительный новичок).

Благодарю.

8

Решение

Первый пример в fgetcsv Документация содержит самородки того, что вам нужно.

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

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

fgetcsv возвращает численно проиндексированный массив, представляющий столбцы, поэтому вы просто хотите напечатать первый столбец.

14

Другие решения

Ты совсем близко. У вас уже есть массив, так что вы можете просто напечатать первый столбец.

Но вы также можете использовать fgetcsv сам как управляющая переменная для цикла.

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

Вместо print_r ты можешь попробовать echo

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

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

fclose($file);
?>
0
По вопросам рекламы [email protected]