PHP 注意:从 .csv 导入时出现未定义偏移错误
PHP Notice: Undefined offset error when importing from .csv
使用以下代码从 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);
尝试使用此处的建议:Undefined offset error on php when importing a CSV 无济于事,网站上的其他建议。
非常欢迎任何帮助。
由于 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];
}
使用以下代码从 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);
尝试使用此处的建议:Undefined offset error on php when importing a CSV 无济于事,网站上的其他建议。
非常欢迎任何帮助。
由于 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];
}