我正在使用 PHPleague 解析 csv 并将其插入数据库。https://csv.thephpleague.com/
我的代码如下:
$csv = Reader::createFromPath($path, 'r');
$csv->skipEmptyRecords();
$csv->setHeaderOffset(0);
$csv_header = $csv->getHeader();
$stmt = (new Statement())
->offset('0')
->limit('20')
;
$records = $stmt->process($csv);
foreach($records as $record){
print_r($record); // this show that it has processed empty records as well
}
exit();
我可以自己修剪空记录,也可以调用以下函数$records = $this->trimArray($records);
public function trimArray($arr)
{
$final = array();
foreach($arr as $k => $v)
{
if(array_filter($v)) {
$final[] = $v;
}
}
return $final;
}
但是,我希望在此之前对其进行修剪。而不是添加我自己的层来过滤它无论如何都在 csvleague 到skipemptyrecords
. 我试过了,$csv->skipEmptyRecords();
但它没有跳过空记录。我做错什么了吗?
我想跳过所有那些空记录。