Функция str_getcsv()
возвращает одномерный массив, но вы рассматриваете его так, как будто он возвращает двумерный массив.
Edit:
Для пояснения, str_getcsv()
не имеет понятия "линии". Вместо этого:
$tsvData = str_getcsv($input, "\t");
Думая, что вы получите массив строк, каждая из которых содержит массив столбцов, вы должны сделать что-то вроде этого:
$lines = explode("\n", $input);
$tsvData = array();
foreach ($lines as $line) {
$tsvData[] = str_getcsv($line, "\t");
}
// now $tsvData is a 2-dimensional array of lines/columns like you were wanting