SplFileObject неправильно читает CSV

Поэтому я должен прочитать несколько файлов CSV, объединить их заголовки (удалив дубликаты) и поместить значения в окончательный (объединенный) файл CSV. Я пытаюсь использовать SplFileObject в первый раз. Я начал с чтения файла. Ниже приведены детали

file1.csv

"A","B","C","D
1,2,3,4

merge.csv

$file = new SplFileObject('file1.csv');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
print_r($row);
}

Это выводит:

Array
(
[0] => A
[1] => B
[2] => C
[3] => D
1,2,3,4
)

Почему он не сделал другой массив для следующей строки?

0

Решение

попробуйте это, сохраните ваши данные в массиве и распечатайте его.

$file = new SplFileObject('file1.csv');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
$new_array[] = $row;
}
print_r($new_array);

ВЫХОД

Array
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => 1
[5] => 2
[6] => 3
[7] => 4
)

ИЛИ ЖЕ
попробуй это,

$file = fopen('file1.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
print_r($line);
}
fclose($file);
1

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

Других решений пока нет …

По вопросам рекламы [email protected]