Я не знаю, почему я так много борюсь с этим, но я пытаюсь получить доступ к строке в массиве, возвращаемом fgetcsv. У меня есть этот код:Доступ к строке, возвращаемой fgetcsv
if(($handle = fopen($path, "r")) !== FALSE)
{
if(($data = fgetcsv($handle, "\t")) !== FALSE);
{
var_dump($data);
foreach($data as $row)
{
list($cc, $pc, $pn, $an1, $ac1, $an2, $ac2, $lat, $lon) = explode(" ", $row);
var_dump($row);
}
}
fclose($handle);
}
var_dump
из $data
выходов:
array(1) {
[0] =>
string(46) "US 34050 FPO AA Erie 029 41.0375-111.6789 "
}
var_dump
из $row
выходов:
string(46) "US 34050 FPO AA Erie 029 41.0375 -111.6789
Когда я запускаю программу, я получаю сообщение об ошибке, говорит Notice: undefined offset
, в частности, из-за этой строки:
list($cc, $pc, $pn, $an1, $ac1, $an2, $ac2, $lat, $lon) = explode(" ", $row);
У меня явно что-то отсутствует, но я не знаю, что это такое. Может кто-нибудь мне помочь?
Ugh. По какой-то причине я думал, что длина является необязательным аргументом. Что касается предоставления слишком большого количества параметров
list
... * facepalm *. Оказывается, первые две записи этого CSV отформатированы немного иначе, чем остальные, и я не заметил. В любом случае, спасибо за вашу помощь. Теперь он работает! – LeviJames