初めに
エンジニアとして業務をしていくと
色々なファイル名がありますよね。。
csvファイル、tsvファイルなど。。
今回はtsvファイルとなりますが
元々のtsvファイルをphpプログラムで
読み込んで配列形式で出力するという
ことをやっていこうと思います。
ちなみにtsvファイルとは
TSVとは、複数の項目で構成されるデータを複数件列挙して
表現することができる汎用的なデータ形式の一つで
項目間の区切り文字にタブ文字を用いるものです。
ではさっそくやっていきましょう!

実装
id name type price
1001 egg food 200
1002 hook dvd 999
1003 hammer tool 300
1004 すし 食べ物 900
このようなデータをPHPで読み込み配列として
出力させるのがゴールです。
<?php
$data = [];
$fp = fopen('test.tsv', 'r');
if ($head = fgetcsv($fp, 1024, "\t")) {
while (($row = fgetcsv($fp, 1024, "\t")) !== false) {
$tmp = [];
foreach ($head as $key) $tmp[$key] = array_shift($row);
$data[] = $tmp;
}
}
fclose($fp);
print_r($data);
出力結果は以下となります。
Array
(
[0] => Array
(
[id] => 1001
[name] => egg
[type] => food
[price] => 200
)
[1] => Array
(
[id] => 1002
[name] => hook
[type] => dvd
[price] => 999
)
[2] => Array
(
[id] => 1003
[name] => hammer
[type] => tool
[price] => 300
)
[3] => Array
(
[id] => 1004
[name] => すし
[type] => 食べ物
[price] => 900
)
)
最後に
今回は小技といった感じでしたが
tsvファイルを取り扱うということは
少ないため記事にしました。
今後も技術記事を書いていきますので
応援よろしくお願いします!
