2016-12-07 14 views
0

ASCファイルからデータを抽出したい。しかし、私はそれからデータを抽出しようとすると、オフセットが未定義であることがわかりますか?Notice:配列で作業するとき、未定義オフセット:5

これは私が(エラーが$ DATA2で発生し、$データで結構です)のデータを抽出するために使用するコードです:

 $File  = $_FILES['file']['tmp_name']; 
     $File2  = $_FILES['file2']['tmp_name']; 
     $handle  = fopen($File, "r"); 
     $handle2 = fopen($File2, "r"); 
     $arrResult = array(); 
     $arrResult2 = array(); 
     fgetcsv($handle); 
     fgetcsv($handle); 
     fgetcsv($handle); 
     fgetcsv($handle); 
     fgetcsv($handle); 
     fgetcsv($handle); 
     while (($data = fgetcsv($handle, 1000, ";")) !== FALSE && ($data2 = fgetcsv($handle2, 1000, ";")) !== FALSE) { 



      //--------------------- 
      $artikelnmr  = $data[0]; 
      $barcode   = $data[1]; 
      $omschrijving_nl = $data[2]; 
      $omschrijving_exp = $data[3]; 
      $bruto_prs  = $data[4]; 
      $staffel_prs  = $data[5]; 
      $aktie_prs  = $data[6]; 
      $bruto_antl  = $data[8]; 
      $staffel_antl  = $data[9]; 
      $aktie_aantal  = $data[10]; 
      $voorraad   = $data[15]; 
      $leverdatum  = $data[16]; 
      $besteld   = $data[17]; 
      $pallet_antl  = $data[19]; 
      $artikel_groep = $data[22]; 
      $extra_info  = $data[27]; 


       //----------------------- 
      $type    = $data2[0][0]; 
      $artikel   = $data2[0][1]; 
      $prijs1   = $data2[5]; 
      $prijs2   = $data2[6]; 
      $prijs3   = $data2[7]; 
      $prijs4   = $data2[8]; 
      $prijs5   = $data2[9]; 
       //---------------------- 

そして、これが返されるエラーです:

お知らせ(!):オフセット不定:Cで5:\ wamp64 \ WWW \ jodeco \ import.phpライン上 53コールスタック

時間メモリー機能場所

1 0.0011 414880 {メイン}()... \ import.php:0

2 0.0032 430384 importdb()... \ import.php:222

、これはまた、すべてのために起こりますここでは、他のデータポイント(9から5)

は、ASCファイルの数行です:

0 1         2     3 4 5  6  7  8  9    10  11 
--------------------------------------------------------------------------------------------------------------------------------- 
5 ;790148        ;     ; ; ; 4.35; 0.00;  ;  ; 0.00;  ;  ; 
1 ;790148        ;     ; ; ; 4.35; 0.00;  ;  ; 0.00;  ;  ; 
+0

'fgetcsv'を使用しているときにファイルの最後の行に気をつけてください。この最後の行の内容がキャリッジリターンの場合、このエラーが発生します。 –

答えて

0

あなたのコードは

ようにする必要があります

$artikelnmr = $data[0]; 

のInsted $data[5]があなたの$data配列には見られないので、あなたはオフセット未定義ます オフセットをチェックするisset()を試してみてくださいを設定したり、されていません。

+0

私は$ dataに何の問題もありません。私は$ data2に問題があります。 –

+0

'isset($ data2 [5])? $ data2 [5]: "";これを試してください.. etc ... –

関連する問題