2012-01-30 7 views
0

誰かが簡単にどのように表示することができますフォーマットアレイこのような値を持つ? 私はCSVは以下のような値を持つファイルがあります。CSVをARRAYにフォーマットするには?

27383,15.99 
80448,19.99 
132876,11.99 
150438,120 

これは私が希望の形式である:

$array[0]['id'] = 27838 
$array[0]['price'] = 15.99 
$array[1]['id'] = 80448 
$array[2]['price'] = 19.99 

私が今持っていることは次のとおりです。

$data = file_get_contents('id_and_price.csv'); 
$data = explode(',', $data); 
print_r($data); 

//foreach($data as $d) { 
// echo $d; 
//} 

答えて

3
<?php 
$f = fopen('filename', 'r'); 
$arr = array(); 
while ($l = fgetcsv($f)) { 
    $arr[] = array_combine(array('id', 'price'), $l); 
} 
var_dump($arr); 
?> 
0

次のものが必要phpを使用して爆発する... http://php.net/manual/en/function.explode.php

あなたが fgetcsv()で非常に簡単にこれを行うことができます
$csv = "piece1,piece2,piece3,piece4,piece5,piece6"; 
$array = explode(",", $csv); 
echo $array[0]; // piece1 
echo $array[1]; // piece2 
+0

はちょうどあなたがareadyこれを持って気づきました!奇妙なことを見つけようとすると、あなたは2つの声を持っていることをお勧めします。カウント$ i = 0を設定します。奇数のnunbrを検出するためにif($ i%)を使い、それを配列キーのmodに使う – Nick

4

$arr = array(); 
$header = array('id', 'price'); 

$file = fopen('id_and_price.csv', 'r'); 
while($item = fgetcsv($file)) 
{ 
    $arr[] = array_combine($header, $item); 
} 

print_r($arr); 
関連する問題