我需要从.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来帮助我获得我需要的输出吗?还是不可能?谢谢!
答案 0 :(得分:0)
数字作为键是
$csvArray[][$data[1]] = Array($data[2] => $data[3]);
我认为改为
$csvArray[$data[0]][$data[1]] = Array($data[2] => $data[3]);
应该工作(我没有测试过,但错误很明显)