今日の人気記事

  1. 文字列を大文字 / 小文字に変換 - strtoupper()、strtolower() - mb_strtoupper()、mb_strtolower()

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ファイルが配列として返されています。

ファイル の人気記事

  1. ファイルから1行ずつ読み込む - fgets()
  2. ファイル名を変更 - ファイルを移動 - rename()
  3. 文字列にファイルを書き込む - fwrite()、fputs()
  4. 親ディレクトリのパスを表示 - dirname()
  5. ディレクトリを作成 - mkdir()
  6. ファイルのサイズを取得 - filesize()
  7. 文字列をファイルに書き込む - file_put_contents()
  8. ユニークなファイル名の一時ファイルを作成 - tempnam()

関連記事(一部広告含む)