今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. PHP + Apacheのインストール - Linux環境 - CentOS
  3. PHPのダウンロードとインストール - Windows環境
  4. PHP + Apache 環境の構築
  5. 外部コマンドを実行 - exec()、system()

CSVファイルを配列に読み込む - fgetcsv()

スポンサーリンク

プログラミング言語PHPで、引数に指定したCSVファイルから配列を出力する関数 fgetcsv()を紹介します。

fgetcsv関数

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter [, string $enclosure ]]] )
引数に指定したCSVファイルを1行ずつ読み込み、配列を返します。
引数
$handle
fopen関数で正常にオープンされた、有効なファイルポインタを指定します。
$length
取得するデータの長さを指定します。
$delimiter
区切り文字を指定します(1文字)。
指定しない場合はカンマ「,」。
$enclosure
文字列を囲む記号を指定します(1文字)。
指定しない場合はダブルクォーテーション「"」。
返り値
読み込んだCSVファイルから配列を返します。
スポンサーリンク

サンプルコード

指定したCSVファイルを読み込み、そのデータから配列を返すサンプルコードです。

fgetcsv( ファイルポインタ )
<?php
/* 読み込むCSVファイルを作成 */
$str = <<<EOD
Windows,Mac,Linux
MySQL,PostgreSQL,SQLite
EOD;
file_put_contents('test.csv', $str);

/* ファイルポインタをオープン */
$file = fopen("test.csv", "r");

/* CSVファイルを配列へ */
if( $file ){
  while( !feof($file) ){
    var_dump( fgetcsv($file) );
  }
}

/* ファイルポインタをクローズ */
fclose($file);
?>

実行結果です。

array(4) {
  [0]=>
  string(1) "0"
  [1]=>
  string(7) "Windows"
  [2]=>
  string(3) "Mac"
  [3]=>
  string(5) "Linux"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(5) "MySQL"
  [2]=>
  string(10) "PostgreSQL"
  [3]=>
  string(6) "SQLite"
}

読み込んだCSVファイルが配列として返されています。

スポンサーリンク