当我为包含内容.csv
的{{1}}文件应用以下代码时,我得到输出: WaterMelon,BlueBerry,BlackBerry
我得到的输出是一个简单的数组,因为我已将简单值存储到Array ( [0] => WaterMelon, [1]=>BlueBerry, [2]=>BlackBerry )
文件中。
问题: -
但是,如果我想将.csv
存储在.csv文件中,然后输出如下输出:
key-value pairs
我该怎么办?
Array ( [FruitOne] => WaterMelon, [FruitTwo]=>BlueBerry, [FruitThree]=>BlackBerry )
答案 0 :(得分:1)
CSV文件可以多次拥有标题行。因此,您可以使用它来阅读第一行,然后使用array_combine
:
$headers = fgetcsv($file);
while (($line = fgetcsv($file)) !== FALSE) {
print_r(array_combine($headers, $line));
}
在创建CSV文件时使用相同的概念来添加标题。
或者,只需自己定义$headers
并使用相同的循环array_combine
:
$headers = array('FruitOne', 'FruitTwo', 'FruitThree');
答案 1 :(得分:0)
尝试这样的事情:
<?php
function getArrayFromCsv($file) {
if (($handle = fopen($file, "r")) !== FALSE) {
while (($lineArray = fgetcsv($handle)) !== FALSE) {
$dataArray[$lineArray[0]] = $lineArray[1];
}
fclose($handle);
}
return $dataArray;
}
?>