我有一个 php read 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), ',', '"');
}