0

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

0 回答 0