【PHP】CSVファイルを読み込んで配列化する

CSVを読み込む

例えば、同ディレクトリ内にある「list.csv」を読み込みたいときは以下。

$filer = fopen('./list.csv', 'r');
$books = array();
while ($line = fgetcsv($filer)) {
	$books[] = $line;
}
fclose($filer);

CSVの行をそのまま配列にするのではなく、キーなどを設定したい場合は以下。

$filer = fopen('./list.csv', 'r');
while ($line = fgetcsv($filer)) {
	$guest = [
		"name" =>       $line[1],
		"key" =>        $line[2],
		"from" =>       $line[3],
		"to" =>         $line[4],
	];
	$users[$line[0]] = $guest;
}
fclose($filer);

おまけ:CSVに追記する

逆に配列をCSVに追加したい場合は以下。

$new_line = implode(",", $array); //追記する行を生成

$filename = './list.csv';
$fp = fopen($filename, 'a');
fwrite($fp, $new_line . "\n");
fclose($fp);