人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPを利用して、CSVファイルのデータインデックスを取得する方法を教えて下さい。
インデックスはCSVファイルの第1行目に記述しています。
インデックスに応じて、アクティブに処理を変更したいと考えております。

●質問者: lg-tsp
●カテゴリ:コンピュータ
✍キーワード:CSV PHP アクティブ インデックス データ
○ 状態 :終了
└ 回答数 : 2/4件

▽最新の回答へ

1 ● karla
●5ポイント

http://php.s3.to/man/function.fgetcsv.html

fgetcsvでCSV形式の各項目を配列に入れた形で読み出す事ができます。

先頭行の形式もCSVならばこちらを使って処理するのが手軽だと思います。

◎質問者からの返答

実は既にfgetcsvを利用してCSVファイルを処理しております。

CSVインデックス部分を配列のインデックスとして利用する箇所の記述が不明だったため、投稿させて頂きました。


2 ● えるふん
●45ポイント

http://php.net/fgetcsv

PHP: fgetcsv - Manual

こんな感じでしょうか?


$fp = fopen( ”foo.csv”, ”r”);

if ( $fp !== FALSE) {

$data = array();

// インデックス行の読み込み

// array( ”index1”, ”index2”, ”index3”, ...);

$index = fgetcsv( $fp, 8192);

for ( $row = 0; feof( $fp) != TRUE; $row++ ) {

$record = fgetcsv( $fp, 8192);

for ( $i = 0; $i < count( $index); $i++) {

$data[ $row][ $index[ i]] = $record[ $i];

}

}

fclose( $fp);

}


下記のCSVがあったとして


first,last,age

Taro,Yamada,20

Hanako,Tanaka,28


$dataは下記のようなイメージになります


$data = array(

array( ”first”=>”Taro”, ”last”=>”Yamada”,”age”=>”20”),

array( ”first”=>”Hanako”, ”last”=>”Tanaka”,”age”=>”28”)

);

◎質問者からの返答

詳細なコードありがとうございます。

非常に助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ