エクセルなどで作成したCSVデータは大体先頭の行が項目になります。
項目を配列のラベルとして配列化するサンプルです。
例えばまずこんなCSVがあってPHPで読み込むとします。
id,name,item,value 1,a,マウス,5000 2,b,キーボード,6500 3,a,イヤホン,30000
PHPのfopenで読み込みます。
$fp = fopen('csv/a.csv', 'r'); $i = 0; while (($data = fgetcsv($fp)) !== FALSE) { if($i>0){ foreach($data as $k => $v){ $c[$key[$k = $v; } $cvs1[] = $c; }else{ foreach($data as $k => $v){ $key[] =$v; } } $i++; } fclose($fp);
$cvs1を出力してみましょう。
Array ( [0] => Array ( [id] => 1 [name] => a [item] => マウス [value] => 5000 ) [1] => Array ( [id] => 2 [name] => b [item] => キーボード [value] => 6500 ) [2] => Array ( [id] => 3 [name] => a [item] => イヤホン [value] => 30000 ) )
こうなれば成功です。