ホームページ >バックエンド開発 >PHPチュートリアル >fgetcsv を使用して PHP でカンマが埋め込まれた CSV ファイルを解析する方法

fgetcsv を使用して PHP でカンマが埋め込まれた CSV ファイルを解析する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-24 14:31:44852ブラウズ

How to Parse CSV Files with Embedded Commas in PHP Using fgetcsv?

fgetcsv を使用して PHP で CSV ファイルから配列を作成する

質問:

ユーザーは次のことを望んでいますfgetcsv 関数を使用して CSV ファイルから配列を作成します。ただし、フィールドに住所などの複数のカンマが含まれている場合、現在のコードは誤動作します。また、str_getcsv へのアクセスもできません。解決策を提供できますか?

回答:

fgetcsv を使用して CSV ファイルを解析します

タイトルに記載されているように、 fgetcsv は、CSV ファイルを解析するための優れたオプションです。これは、各行を要素の配列に分割する効率的な方法を提供します。

fgetcsv を利用するコード スニペットは次のとおりです。

$file = fopen('myCSVFile.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  print_r($line);
}
fclose($file);

このコード内:

  • fopen(): CSV ファイルを読み取り用に開き、それをファイル ハンドルに割り当てます。
  • whileループ: fgetcsv() の FALSE 戻りによって決定されるファイルの終わりに到達するまで、ファイルの各行を繰り返します。
  • fgetcsv(): 現在の行を要素の配列に解析します。
  • fclose(): ファイル ハンドルを閉じます。

処理埋め込みカンマ

カンマが埋め込まれたフィールドを処理するには、CSV ファイルが適切な区切り文字または引用符で適切にフォーマットされていることを確認する必要があります。フィールドを二重引用符で囲むことにより、fgetcsv はコンマを含む要素を正確に識別して分離できます。

たとえば、次の CSV ファイル形式は適切に機能します:

Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single
Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single
Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married
Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married
Ryan V. Turner,"123 Main Street, Bethesda, Maryland 20816",Single

以上がfgetcsv を使用して PHP でカンマが埋め込まれた CSV ファイルを解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。