2017-09-20 10 views
0

からインポートするときに、次のコードを使用してCSVファイルからデータをインポートするときに、私は継続的に上記のエラーを取得しています:PHPのお知らせ:不定オフセット誤差.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、およびサイト上の他のエラーは、次の行にあります。

これに関するお手伝いは大歓迎です。

答えて

2

list()は2つの変数を割り当てようとしているので、2つの配列要素[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]; 
} 
+0

エラーなしで今実行することがなく、どのようにデータ、すなわち各列の値を変数として使用できますか? – djd

+0

可能性を編集しました。 – AbraCadaver

+0

これは私がそれが必要なことを正確に行います、ありがとう! – djd

関連する問題