PHP处理CSV文件,用分号
分开后,我已经与以下结构的CSV文件:PHP处理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;
}
哇,耻辱我!我做错了一切。这一定是我无法找到任何与我的问题有关的话题的原因:)非常感谢你,现在一切正常,因为它应该是! –
@Marc,我建议保留$ data的声明。首先,您确定它已正确初始化,其次,如果文件中没有行,则声明不会发生,并且返回值为null。 –
但这是正确的 – Marc
隔板是第三个参数['fgetcsv'(http://php.net/fgetcsv)。 – mario
谢谢你突出显示! –