我有一个从csv导入数据的脚本,并从导入sql表的数据中创建变量。一切正常,但错误日志因未定义的偏移错误而疯狂。
从我读过的内容是因为它只找到了索引[0],所以其他人都会抛出错误。
我已经查看过以下内容,似乎无法获得有效的建议:
PHP: "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset"
PHP Notice: Undefined offset error when importing from .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);
错误是在'列表中生成的。并且'爆炸'代码行。
道歉,对此非常陌生,已经阅读了多篇关于“为什么'只是没有找到修复,它是我填充错误日志的唯一错误类型。任何帮助将不胜感激。
答案 0 :(得分:0)
你爆炸必须返回至少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);