如何在csv文件中的一个数组中插入各种值或数组

时间:2013-11-21 18:49:00

标签: php arrays csv

我需要从.csv文件编译多维数组 我的.csv文件是:

SEC | ID |标题|价格 第1节 ,ID 1,标题1,100
,ID 2,Title 2,100

我需要数组显示如下:

[Section 1] => Array
    (
        [ID 1] => Array
            (
                [Title 1] => 100
            )

        [ID 2] => Array
            (
                [Title 2] => 100
            )

    )

以下部分和子阵列。

目前我有这段代码:

$csvArray = array();


if (($handle = fopen("file.csv", "r")) !== FALSE) {

fgetcsv($handle, 1000, ",");

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    if ($data[2] >= "0") {
        $csvArray[][$data[1]] = Array($data[2] => $data[3]);

                }


    elseif ($data[2] < "0") {
        $csvArray[$data[0]] = Array();
            }

    }
fclose($handle);
}
echo '<pre>';
print_r($csvArray);

输出结果为:

Array
(
[Section 1] => Array
    (
    )

[0] => Array
    (
        [ID 1] => Array
            (
                [Title 1] => 100
            )

    )

[1] => Array
    (
        [ID 2] => Array
            (
                [Title 2] => 100
            )

    )

)

任何人都可以通过更改csv文件或PHP来帮助我获得我需要的输出吗?还是不可能?谢谢!

1 个答案:

答案 0 :(得分:0)

数字作为键是

$csvArray[][$data[1]] = Array($data[2] => $data[3]);

我认为改为

$csvArray[$data[0]][$data[1]] = Array($data[2] => $data[3]);

应该工作(我没有测试过,但错误很明显)