今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()

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. ファイル名を変更 - ファイルを移動 - rename()
  2. パスからファイル名を取得 - basename()

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