public function testCountWithMoreElementsThanColumnHeadersNotStrict() { $file = new \SplFileObject(__DIR__ . '/../Fixtures/data_more_elements_than_column_headers.csv'); $csvReader = new CsvReader($file); $csvReader->setStrict(false); $csvReader->setHeaderRowNumber(0); $this->assertEquals(3, $csvReader->count()); $this->assertFalse($csvReader->hasErrors()); $this->assertEquals(array(6, 456, 'Another description'), array_values($csvReader->getRow(2))); }
/** * @param \SplFileObject $file * @param array $data * @return array */ public function getCsvHeader(\SplFileObject $file, &$data) { $csvReader = new CsvReader($file, $data['delimiter']); $csvReader->setHeaderRowNumber(0, 1); $csvReader->setStrict(false); $data['count'] = $csvReader->count(); $data['header'] = $csvReader->getColumnHeaders(); if ($csvReader->hasErrors() || count($csvReader->getFields()) <= 1) { $this->setError('error read file'); } else { $row = $csvReader->getRow(1); foreach ($row as $key => $value) { $data['first'][$key] = $value; } } return $data; }