tech.chakapoko.com
Home / PHP / ファイル操作

[PHP]CSVファイルを読み書きする

CSVファイルを読み込む

CSVファイルを読み込むには fgetcsv 関数を使います。

次のコードはCSVファイルを読み込むサンプルです。

<?php
$f = fopen('test.csv', 'r');

while (($fields = fgetcsv($f)) !== false) {
    var_dump($fields);
}

fclose($f);

test.csvの中身は次のようになっています。

a,b,c
d,e,f
g,h,i

コードを実行すると次のような出力が得られます。

array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}
array(3) {
  [0]=>
  string(1) "d"
  [1]=>
  string(1) "e"
  [2]=>
  string(1) "f"
}
array(3) {
  [0]=>
  string(1) "g"
  [1]=>
  string(1) "h"
  [2]=>
  string(1) "i"
}

CSVファイルに書き込む

CSVファイルを読み込むには fputcsv 関数を使います。

以下のコードをはファイルにデータをCSV形式で書き込むサンプルです。

<?php
$data = [
    ['a', 'b', 'c'],
    ['d', 'e', 'f'],
    ['g', 'h', 'j']
];

$f = fopen('test.csv', 'w');

foreach ($data as $row) {
    fputcsv($f, $row);
}

fclose($f);

このコードを実行するとtest.csvに以下の内容が出力されます。

a,b,c
d,e,f
g,h,i