LoginSignup
1
0

More than 1 year has passed since last update.

【PHP】タブ区切りのcsvファイルを連想配列にする

Posted at

対象のcsv

hoge	fuga	
123456	987654
234567	876543
345678	765432

コード

$fopen = fopen("ファイルのパス", "r"); // READで出力
$header = fgetcsv($fopen, 0, "\t"); // ヘッダー行だけ取れる

$rows = file("ファイルのパス"); // 行ごとの配列ができる
unset($rows[0]); // 先頭はヘッダーなので削除

$list = [];
foreach ($rows as $row) {
    $split_row = preg_split("/\t/", $row); // タブで区切って配列にする
    $arr = array_combine($header, $split_row); // ヘッダーをキーとして連想配列にする
    $list[] = $arr;
}
return $list;

結果

array (size=3)
  0 => 
    array (size=13)
      'hoge' => string '123456' (length=8)
      'fuga' => string '987654' (length=5)
' (length=56)
  1 => 
    array (size=13)
      'hoge' => string '234567' (length=8)
      'fuga' => string '876543' (length=5)
' (length=33)
  2 => 
    array (size=13)
      'hoge' => string '345678' (length=8)
      'fuga' => string '765432' (length=5)
 (length=48)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0