Home > 覚え書き > PHP覚書:二次元配列

PHP覚書:二次元配列

簡易データベースとしてcsvファイルを使用するのですが、「手軽に」と思ったのが大きな失敗でした。
心理的にsqlを使用するより簡単と思い込んでいたのですが、逆に手間が掛かった感は否めません。
具体的には、項目別にソートさせる仕様で壁にぶちあたりました。

色々考えた結果、csvデータは二次元配列に格納して、配列内であれこれ操作することにしました。
(セオリーがわからないのでこれが正しい選択肢なのかもわかりませんが・・。)

二次元配列とは、配列の値に配列を入れるということで、csvデータの列情報を$listにその情報を行情報として$arrayに格納しました。

$file = fopen($fname, "r");
$i=0;
while (($line = fgetcsv($file, 10000, ",")) !== FALSE) {
$array[$i]=$line;
$i++;
}
fclose($file);

こんな感じでしょうか、ただなんとなく貧弱そうなのでfgetcsvに@をつけたり、ファイルロックを付けたりしてみました。

$file = @fopen($fname, "r");
if (flock($file, LOCK_SH)){
$i=0;
while (($line = fgetcsv($file, 10000, ",")) !== FALSE) {
$array[$i]=$line;
$i++;
}
flock($file, LOCK_UN);
}else{
print('ファイルロック失敗');
}
fclose($file);

やりたい事を言語に落とし込むことに頭が慣れていないので、これだけでかなり疲れました。。
道のりは長いです。

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Trackbacks:0

TrackBack URL for this entry
http://www.01sound-earth.com/01sys/mt-tb.cgi/224
Listed below are links to weblogs that reference
PHP覚書:二次元配列 from WEB・音楽業界ニュース&私的コラム

Home > 覚え書き > PHP覚書:二次元配列

Search
Feeds

Return to page top