PHPを利用して、CSVファイルのデータインデックスを取得する方法を教えて下さい。

インデックスはCSVファイルの第1行目に記述しています。
インデックスに応じて、アクティブに処理を変更したいと考えております。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/01 13:29:43
  • 終了:--

回答(4件)

id:karla No.1

karla回答回数130ベストアンサー獲得回数42005/12/01 14:59:08

ポイント5pt

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

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

id:lg-tsp

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

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

2005/12/01 15:41:47
id:elf No.2

えるふん回答回数76ベストアンサー獲得回数82005/12/01 16:07:06

ポイント45pt

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”)

);

id:lg-tsp

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

非常に助かりました。

2005/12/01 18:40:31

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 heishiro 5 0 0 2005-12-01 16:40:56
2 heishiro 5 0 0 2005-12-01 16:58:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません