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

PHP注意:从.csv导入时出现未定义的偏移量错误,php,csv,undefined,offset,explode,Php,Csv,Undefined,Offset,Explode,使用以下代码从csv导入数据时,我不断遇到上述错误: $csv_data=file_get_contents("data3_received.csv"); foreach(preg_split("/((\r?\n)|(\r\n?))/", $csv_data) as $line){ list($service_id, $ki3) = explode(',', $line,2); 数据按预期导入,但错误日志正在填充,因为我们在多个php脚本中使用相同的代码。错误出现在以下行: list($ser

使用以下代码从csv导入数据时,我不断遇到上述错误:

$csv_data=file_get_contents("data3_received.csv");
foreach(preg_split("/((\r?\n)|(\r\n?))/", $csv_data) as $line){
list($service_id, $ki3) = explode(',', $line,2);
数据按预期导入,但错误日志正在填充,因为我们在多个php脚本中使用相同的代码。错误出现在以下行:

list($service_id, $ki3) = explode(',', $line,2);
尝试使用这里的建议:没有用,其他在网站上

非常欢迎对此提供任何帮助。

因为
list()
正在尝试分配两个变量,所以它正在尝试访问两个数组元素
[0]
[1]
。因为行上没有逗号,
[1]
不存在

尝试一些不同的功能:

$csv_data = file("data3_received.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach($csv_data as $line) {
    $data[] = str_getcsv($line);
}
要获取单个变量,您需要检查是否有多个列或类似的内容:

if(count($data = str_getcsv($line)) > 1) {
    list($service_id, $ki3) = $data;
} else {
    $service_id = $data[0];
}
由于
list()
试图分配两个变量,因此它试图访问两个数组元素
[0]
[1]
。因为行上没有逗号,
[1]
不存在

尝试一些不同的功能:

$csv_data = file("data3_received.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach($csv_data as $line) {
    $data[] = str_getcsv($line);
}
要获取单个变量,您需要检查是否有多个列或类似的内容:

if(count($data = str_getcsv($line)) > 1) {
    list($service_id, $ki3) = $data;
} else {
    $service_id = $data[0];
}

现在可以运行,没有错误,但我如何使用数据,即每个列值作为变量?编辑一个可能性。这正是我需要它做的,谢谢!现在可以运行,没有错误,但我如何使用数据,即每个列值作为变量?编辑一个可能性。这正是我需要它做的,谢谢!