PHP と fgetcsv 関数を使用して CSV ファイルから配列を作成する方法 質問する

PHP と fgetcsv 関数を使用して CSV ファイルから配列を作成する方法 質問する

fgetcsv を使用して CSV ファイルから配列を作成するコードを教えていただけませんか?

次のコードを使用して単純な CSV ファイルから配列を作成しましたが、フィールドの 1 つに複数のコンマ (アドレスなど) がある場合は正しく機能しません。

$lines =file('CSV Address.csv');

foreach($lines as $data)
{
list($name[],$address[],$status[])
= explode(',',$data);
}

*また、str_getcsv は私のホスティング サービスではサポートされていません。

上記のコードは、次の CSV ファイルの例では機能しません。最初の列は名前、2 番目の列は住所、3 番目の列は婚姻状況です。

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

ベストアンサー1

タイトルにもあるように、fgetcsvが正解です。使い方は実に簡単です。

$file = fopen('myCSVFile.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  print_r($line);
}
fclose($file);

失敗した場合に備えて、さらにエラー チェックを追加する必要がありますfopen()が、これは CSV ファイルを 1 行ずつ読み取り、行を配列に解析するために機能します。

おすすめ記事