1

我正在尝试使用 PHP 读取 CSV 文件。我想为每一行使用一个 while 语句,并想为每一列分配一个变量。我为每一列分配变量的原因是我可以在 sql 查询中使用这些变量。

$csv = fopen('sample2.csv','r') or die("can't open file");
while($csv_line = fgetcsv($csv,1024)) {
    //Not sure what to do here
}
fclose($csv) or die("can't close file");

我了解如何打开文件并阅读整行,但不了解如何控制各个列。

更新代码

<?php
    $csv = fopen('sample.csv','r') or die("can't open file");
    while($csv_line = fgetcsv($csv,1024)) {
        list($column1, $column2, $column3) = $csv_line;
        echo 'Column 1: '.$column1.'<br />';
        echo 'Column 2: '.$column2.'<br />';
        echo 'Column 1: '.$column1.'<br />';
        echo 'Column 3: '.$column3.'<br />';
    }
    fclose($csv) or die("can't close file");
?>
4

4 回答 4

4

fgetcsv返回一个包含每个字段的数组。您可以使用该list函数获取该数组中的所有列:

while($csv_line = fgetcsv($csv,1024)) {
    list($column1, $column2, $column3) = $csv_line;
}
于 2012-12-06T19:43:29.060 回答
0

$csv = fopen('sample2.csv','r') 或 die("无法打开文件"); 而($csv_line = fgetcsv($csv,1024)) { $column0 = $csv_line[0]; $column2 = $csv_line[0]; $column3 = $csv_line[0]; $column4 = $csv_line[0]; $column = $csv_line[];

} fclose($csv) 或 die("无法关闭文件");

于 2012-12-07T12:57:33.560 回答
0

如果你做 a print_r($csv_line),你会看到你得到了一个数组,由每个字段为你分割。

于 2012-12-06T19:41:49.927 回答
0

您可以使用 csv 阅读器类并将您的 csv 文件数据简单地解析为数组格式。

http://www.mbyte.in/csv-reader/

<?php 
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
include "csv_reader.php";
$csvObject=new Mbyte_Csv();
$file='seed.csv';
$data=$csvObject->getData($file);
echo "<pre>";
print_r($data);
echo "</pre>";
?>

于 2015-05-23T10:11:07.910 回答