Как отформатировать CSV в ARRAY? - PullRequest
0 голосов
/ 31 января 2012

Может кто-нибудь показать мне, как легко отформатировать массив с такими значениями? У меня есть файл 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 ]

4 голосов
/ 31 января 2012

Вы можете сделать это довольно легко с помощью 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);
3 голосов
/ 31 января 2012
<?php
$f = fopen('filename', 'r');
$arr = array();
while ($l = fgetcsv($f)) {
  $arr[] = array_combine(array('id', 'price'), $l);
}
var_dump($arr);
?>
0 голосов
/ 31 января 2012

вам нужно использовать php explode ... 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...