【发布时间】:2017-06-12 17:08:43
【问题描述】:
我有一个 csv 文件,我需要从中提取我们使用的数据。我需要从每一列创建一个单独的数组,所以:
我需要 heading1 作为键,值作为 data1、data2、data3。
我想我需要密钥才能访问特定列。
【问题讨论】:
-
读取 csv 并执行简单的 for 循环,使用数组键
header创建所需的数组
我有一个 csv 文件,我需要从中提取我们使用的数据。我需要从每一列创建一个单独的数组,所以:
我需要 heading1 作为键,值作为 data1、data2、data3。
我想我需要密钥才能访问特定列。
【问题讨论】:
header 创建所需的数组
您可以使用str_getcsv() 函数。
【讨论】:
您可以获取第一行,然后在迭代后续行时使用 array_combine 以将标题行中的值用作数组键。
$file = fopen('yourfile.csv', 'r');
$keys = fgetcsv($file); // get the headers
while (false !== ($values = fgetcsv($file))) {
$row = array_combine($keys, $values); // combine headers with values
// now you can do
$value = $row['heading1']; //etc.
}
【讨论】:
false !== .. 10/10 清晰度。