访问 fgetcsv 返回的字符串
Accessing string returned by 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);
}
$data
的 var_dump
产生:
array(1) {
[0] =>
string(46) "US 34050 FPO AA Erie 029 41.0375-111.6789 "
}
$row
的 var_dump
产生:
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);
我显然在这里遗漏了一些东西,但我不知道它是什么。谁能帮帮我?
PHP 手册显示您没有将正确的参数传递给 fgetcsv()
:
array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]]] )
需要分隔符前的长度
未定义的偏移量是由于与 explode()
的结果相比,您给出的参数太多而无法列出。 var_export(explode(" ", $row));
会让这一点显而易见。
我不知道为什么我为此苦苦挣扎,但我正在尝试访问 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);
}
$data
的 var_dump
产生:
array(1) {
[0] =>
string(46) "US 34050 FPO AA Erie 029 41.0375-111.6789 "
}
$row
的 var_dump
产生:
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);
我显然在这里遗漏了一些东西,但我不知道它是什么。谁能帮帮我?
PHP 手册显示您没有将正确的参数传递给 fgetcsv()
:
array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]]] )
需要分隔符前的长度
未定义的偏移量是由于与 explode()
的结果相比,您给出的参数太多而无法列出。 var_export(explode(" ", $row));
会让这一点显而易见。