使用 PHP 的 CSV 导入 - 使用爆炸的未定义偏移
CSV Import using PHP - Undefined Offset using explode
我有一个脚本,它从 csv 导入数据并根据导入到 sql 表中的数据创建变量。一切正常,但错误日志因 Undefined Offset 错误而变得疯狂。
据我所知,这是因为它只找到索引 [0],所以任何其他人都会抛出错误。
我查看了以下内容,但似乎无法让建议起作用:
PHP: "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset"
还有更多...
代码如下:
$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' 代码行。
抱歉,对此很陌生,已阅读 'why' 上的多篇文章,但未找到修复方法,这是我填充错误日志的唯一错误类型。任何帮助将不胜感激。
你爆炸必须return至少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);
我有一个脚本,它从 csv 导入数据并根据导入到 sql 表中的数据创建变量。一切正常,但错误日志因 Undefined Offset 错误而变得疯狂。
据我所知,这是因为它只找到索引 [0],所以任何其他人都会抛出错误。
我查看了以下内容,但似乎无法让建议起作用:
PHP: "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset"
代码如下:
$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' 代码行。
抱歉,对此很陌生,已阅读 'why' 上的多篇文章,但未找到修复方法,这是我填充错误日志的唯一错误类型。任何帮助将不胜感激。
你爆炸必须return至少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);