Как заставить строку заголовка быть пропущена в моем раке, используя fgetcsv?
Вопрос
Я не могу получить новый код, который я написал, чтобы пропустить первый ряд (заголовок) в качестве кода, который я использовал раньше (см. Нижнее).
Я не получаю никаких ошибок, но просто не могу получить его, чтобы опустить первый ряд.
$file = fopen($uploadcsv,"r");
$column_headers = array();
$row_count = 0;
while(!feof($file)) {
if ($row_count==0){
$column_headers = $file;
} else {
print_r(fgetcsv($file));
}
++$row_count;
}
fclose($file);
Ниже приведен старый источник, который пропустил заголовок для справки и сравнения.
$handle = fopen($uploadcsv, 'r');
$column_headers = array();
$row_count = 0;
while (($data = fgetcsv($handle, 100000, ",")) !== FALSE) {
if ($row_count==0){
$column_headers = $data;
} else {
print_r($data);
}
++$row_count;
}
fclose($handle);
Решение
Почему даже рассчитывать? Просто получите заголовки перед циркой.
$column_headers = fgetcsv($file);
while(!feof($file)) {
...
Кроме того, вы только назначаете указатель файла на переменную.
Другие советы
Когда $row_count
является 0
ты не чтение Любой ряд.
Изменять
if ($row_count==0){
$column_headers = $file; // just assigning file handle.
}
к
if ($row_count==0){
$column_headers = fgetcsv($file); // read the row.
}
Не связан с StackOverflow