有人可以告诉我如何使用这样的值轻松格式化数组吗? 我有一个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;
//}
答案 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