我有一个php读取csv函数,它读取都很好,它逐行读取并将它们转换为数组。一切正常。
private function readCSV($csvFile){
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) ) {
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
}
然而,在CSV文件被修改之后,例如。只需更改其中一个值并再次保存,然后使用脚本读取csv。它以不同的方式读取CSV。
结果如下:
Array
(
[0] => Array
(
[0] => id
[1] => title
[2] => phone
[3] => fax
)
[1] => Array
(
[0] => 2
[1] => asd
[2] => 61430055509
[3] =>
)
[2] =>
)
保存csv后再次阅读
Array
(
[0] => Array
(
[0] => id
[1] => title
[2] => phone
[3] => fax
[4] => 2
[5] => asd
[6] => 61430055509
[7] =>
)
[1] =>
)
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$data = $result;
$row = array_merge($row, $data);
if(!$flag) {
// display field/column names as first row
fputcsv($out, array_keys($row), ',', '"');
$flag = true;
}
array_walk($row, array($this, 'cleanData'));
fputcsv($out, array_values($row), ',', '"');
}