PHP从CSV获取值到数组中

时间:2014-11-28 16:57:11

标签: php arrays csv multidimensional-array

我有以下csv文件:

9 carat gold,11.87
18 carat gold,23.73
Silver,0.49
Platinum,27.52

我想把它放在一个多维数组中,但我不知道如何。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

试试此代码

$csv = file_get_contents($file);
$data = explode(PHP_EOL, $csv);
$arr = array();
foreach ($data as $entry) {
    $arr[] = str_getcsv($entry);
}
print_r($arr);

您可以浏览this link以获取有关str_getcsv函数

的更多详细信息

答案 1 :(得分:0)

您可以使用 fgetcsv 来解析CSV文件,而无需担心自己解析它。

PHP手册中的示例:

$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}

答案 2 :(得分:0)

您可以使用fgetcsv读取使用fopen打开的csv文件。