2017-06-21 7 views
0

をスキップするヘッダー最初の2つの列について私はCSVファイルと最初の2つの列を有する配列にCSVファイルを読み取り、最初の行PHP

'Student','ID','SIS User ID' 
Points Possible  
Ashe, 797389, 11721809 
Darius, 20237, 55050811 
Fizz, 34604, 55035088 
Tom Kenn,20232, 55050802 
Vayne, 797413, 11813445 

あり、それらはアレイに追加されるべきではありません。

<?php 
$csvData = file_get_contents('output.csv'); 
$lines = explode(PHP_EOL, $csvData); 
$array = array(); 
foreach ($lines as $line) { 
    $array[] = str_getcsv($line); 
} 
print_r($array[2][5]); 
?> 

私はスキップするために何をすべき:アッシュから スタート、私は次のように私は私のコードを書く

......、array[1]array[0] ダリウスへAshe, 797389, 11721809行を追加したいと思います最初の2行?

問題を修正した後、空の配列があります。どのように空の配列を削除するには?

[797413] => Array 
    (
     [0] => Vayne 
     [1] => 797413 
     [2] => 11813445 
     [3] => lsmdec 
     [4] => cs3487 
     [5] => 12.15 
     [6] => 15 
     [7] => 5 
     [8] => 17 
     [9] => 49.15 
     [10] => 49.15 
     [11] => 49.15 
     [12] => 49.15 
     [13] => 49.15 
     [14] => 49.15 
     [15] => 49.15 
     [16] => 49.15 
     [17] => C- 
     [18] => C- 
    ) 

[] => Array 
    (
     [0] => 
    ) 

答えて

4

あなたは、配列の最初の要素を削除し、後で使用するために安全な場所に保管し、そのようにできます。

<?php 
$csvData = file_get_contents('output.csv'); 
$lines = explode(PHP_EOL, $csvData); 
$array = array(); 
$first_row = array_shift($lines); 
foreach ($lines as $line) { 
    $newLine = str_getcsv($line); 
    if(isset($newLine[0]) && !empty($newLine[0])){ 
     $array[] = str_getcsv($line); 
    } 
} 
print_r($array[2][5]); 

?> 

これは$first_rowにあなたの配列の最初の要素を入れますから、それを削除します$lines; 最初の行以上をスキップする必要がある場合は、array_shift()メソッドをスタックして最初の行を2回削除することができます。

+0

を使用することができます最初の配列をシフトすることができ、他の配列の値をチェックすることができます!あなたの助けにThx!それは私の日を救った! – killer2318

+0

@ killer2318ようこそ! – FMashiro

+0

[797413] =>配列 ( [0] => Vayne [1] => 797413 [2] => 11813445 [3] => lsmdec [4] => cs3487 [5] => 12.15 [6] => 15 [7] => 5 [8] => 17 [9] => 49.15 [10] => 49.15 [11] => 49.15 [12] => 49.15 [13] => 49.15 [14] => 49.15 [15] => 49.15 [16] => 49.15 [17] => C- [18] => C-(0)= [] =>配列 ( [0] => ) – killer2318

0
$csvData = file_get_contents('output.csv'); 
    $lines = explode(PHP_EOL, $csvData); 
    $array = array(); 
    foreach ($lines as $key => $line) {    
     if ($key !== 0) { 
      $array[] = str_getcsv($line); 
     } 
    } 
    echo '<pre>'; 
    print_r($array); 
    die; 

今、あなたはまた、あなたはそれが動作array_shift機能

関連する問題