Я разбираю большой файл CSV, используя SplFileObject
. Этот CSV имеет почти 100 000 записей и несколько столбцов.Неопределенное смещение с использованием списка()
Некоторые из этих столбцов пусты.
Я следующий код:
$file = new SplFileObject($uploadedFile);
$file->setFlags(SplFileObject::READ_CSV);
// ignore the header
$it = new LimitIterator($file, 1);
foreach ($it as $row) {
list(
$email,
$name) = $row;
}
Когда я запускаю сценарий, я всегда получаю сообщение об ошибке:
PHP Notice: Undefined offset: 1 in script.php on line 5
PHP Notice: Undefined offset: 2 in script.php on line 5
............
PHP Notice: Undefined offset: 35 in script.php on line 5
Строка 5 фактическое list() = $row
Есть ли способ я можете это исправить? Может быть, проверив, что массив имеет значения?
Благодаря
Должен ли я сделать это, хотя для каждого поля? –
У вас есть числовые индексы, или вам нужно получить доступ к таким материалам, как '$ row [" nya "]'? И знаете ли вы, какие индексы присутствуют, или они меняются? – Smar
Не сортирует 'list()' числовой индекс? –