我有一个csv文件,其结构如下:
a; b; c,c c; d
当我试图处理它时,它说偏移量2和3是未定义的。我花了一段时间才意识到这是由,
引起的,不知道如何解决。如果我移除,
,一切都会正常运行。
这是我的处理功能:
function process_csv($file) {
$file = fopen($file, "r");
$data = array();
while (!feof($file)) {
$csvdata = fgetcsv($file);
$data[] = explode(';', $csvdata[0]);
}
fclose($file);
return $data;
}
尝试将fgetcsv($file);
作为fgetcsv($file, '"');
,但没有帮助。
您的问题是,默认情况下fgetcsv
使用,
作为分隔符。如果将其更改为;
,则不需要使用explode
。
function process_csv($file) {
$file = fopen($file, "r");
$data = array();
while (!feof($file)) {
$data[] = fgetcsv($file, null, ';');
}
fclose($file);
return $data;
}