У меня есть эта функция, которая читает строку файла CSV построчно и ищет определенную метку в первом столбце каждой строки, а затем, если метка была найдена, она считывает все столбцы рядом с этой найденной меткой в массив, пока значение столбца не станет пустым. Раньше он работал нормально, но недавно я заметил, что он начал пропускать самую первую строку в файле.
Если я добавляю пустую строку вверху файла, она прекрасно читает строку, но как мне сделать так, чтобы она снова читалась с самой первой строки?
Я использую версию PHP 5.5.18, и версия php была обновлена не так давно, если это ошибка версии PHP, понижение версии не является решением для меня …
Есть ли альтернативные функции или, возможно, способ заставить его читать из первой строки, или, может быть, предложение о том, как это сделать?
function getDataByLabel($label){
if(($filePointer = fopen($this->path, "r"))!==FALSE){
//reading each line
while (($data = fgetcsv($filePointer, 0, ",",'"')) !== FALSE) {
if(trim(strtolower($data[0]))==trim(strtolower($label))){
$i=0;
$c=1;
// if column is not empty we add this value to an array
while(!empty($data[$c])){
$label = trim(ucfirst(strtolower($label)));
$this->param[$label][$i] = $data[$c];
$i++;
$c++;
}
}
}
}
}
Задача ещё не решена.
Других решений пока нет …