Я загружаю файл / отчет в формате CSV с 10 столбцами, но в конце файла CSV есть несколько строк, которые просто содержат подробную информацию об отчете, например
Генерируется: XXX
Название компании
Запуск отчета @ 2019-03-14
Когда я загружаю массив, ключи просто числовые (от 0 до 9), но я хотелсделать его ассоциативным массивом, основанным на заголовках столбцов.К сожалению, это не будет работать для последних нескольких строк, так как размеры массива различны (1 против 10)
Вот мой код:
$csv = array_map('str_getcsv', file($_FILES['file']['tmp_name']));
array_walk($csv, function(&$a) use ($csv) {
if(count($csv[0]) != count($a)) {
$a = null; // Remove the array
} else {
$a = array_combine($csv[0], $a);
}
});
array_shift($csv); # remove column header
Когда я делаю $a = null;
, это вроде«удаляет», заменяя его на NULL
.Когда я перебираю массивы, я делаю if(is_null($row)) continue;
, чтобы игнорировать элемент NULL
.Есть ли способ действительно удалить массив?