CSV修改后,PHP读取CSV不同

时间:2013-07-27 03:12:35

标签: php csv

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

0 个答案:

没有答案