25

私はCSVファイルを持っていて、CSVファイルからデータを読み込んだ後、CSVファイルの最初の行をスキップしたいと思います。これにはヘッダーが含まれます。私はこのコードを使用しています。

while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
    // Code to insert into database
}

データベースにデータを挿入すると、ヘッダーはデータベースに保存されません。

4

6 に答える 6

74

while ループを開始する前に、最初の行を取得し、何もしません。このように、最初の行であるかどうかをテストするロジックは必要ありません。

fgetcsv($file, 10000, ",");
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) {
  //....
}
于 2014-07-21T06:02:03.360 に答える
44

試す:

$flag = true;
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) {
   if($flag) { $flag = false; continue; }
   // rest of your code
}
于 2013-01-17T05:33:08.320 に答える
5

簡単なチェックを追加して、チェックが失敗した場合はクエリをスキップできます。

$firstline = true;
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
    if (!$firstline) {
        // Code to insert into database
    }
    $firstline = false;
}
于 2013-01-17T05:34:45.710 に答える