使用 PHP 导入 CSV - 使用爆炸的未定义偏移

gdr39

我有一个脚本,它从 csv 导入数据并从导入到 sql 表中的数据创建变量。一切正常,但错误日志因未定义偏移错误而变得疯狂。

从我读过的内容来看,它只找到索引 [0],所以其他任何人都会抛出错误。

我查看了以下内容,但似乎无法让建议起作用:

PHP:“注意:未定义变量”、“注意:未定义索引”和“注意:未定义偏移”

PHP 注意:从 .csv 导入时出现未定义的偏移错误等等...

这是代码:

$filename='XXXXX_'.$today.'.csv';
$url=$proto.$user.':'.$pass.'@'.$server.$path.$filename;
$csv_data=file_get_contents($url);
foreach(preg_split("/((\r?\n)|(\r\n?))/", $csv_data) as $line){


list($type, $id, $ref) = explode(',', $line);

错误是在“list”和“explode”代码行上生成的。

抱歉,对此很陌生,已经阅读了多篇关于“为什么”没有找到修复程序的文章,这是我填充错误日志的唯一错误类型。任何帮助将非常感激。

拉明阿什拉菲马内什

您爆炸必须返回至少 3 个输出,如果该行中存在少于 3 个项目,则会显示错误。对于这种情况,您可以使用:

$lineData = explode(','$line);

$type = isset($lineData[0]) ? $lineData[0] : null;

$id = isset($lineData[1]) ? $lineData[1] : null;

$ref = isset($lineData[2]) ? $lineData[2] : null;

或使用:

@list($type, $id, $ref) = explode(',', $line);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章