如何将CSV格式化为ARRAY?

时间:2012-01-30 21:34:29

标签: php arrays format

有人可以告诉我如何使用这样的值轻松格式化数组吗? 我有一个CSV文件,其值如下所示:

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 个答案:

答案 0 :(得分:4)

您可以使用fgetcsv()轻松完成此操作:

$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);

答案 1 :(得分:3)

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

答案 2 :(得分:0)

你需要使用php爆炸...... http://php.net/manual/en/function.explode.php

$csv  = "piece1,piece2,piece3,piece4,piece5,piece6";
$array = explode(",", $csv);
echo $array[0]; // piece1
echo $array[1]; // piece2