0

我有一个关于 fputcsv 的非常基本的问题。

我的目标是创建一个 csv 文件,其中每一行的第一列是键,第二列是值。print_r 在我的桌子上的结果给出了类似这样的 Array ( [city_name: London ] => 8000 [city_name: Dublin ] => 8415

我以为我必须像这样使用 array_keys 和 array_values :

fputcsv ($fp, array_keys($tablepeople)); 
fputcsv ($fp, array_values($tablepeople));

使用此代码,我的 csv 文件得到了这个形状: Name1 Name2 Value1 Value2

我该怎么做才能得到这个: Name1 Value 1 Name2 Value2

其中 name 是数组的键,值是值。

请问你能帮帮我吗 ?

4

3 回答 3

2

您必须为 CSV 文件中的每一行创建一个数组。

$line = array($key, $value);
fputcsv($out, $line);
于 2012-07-27T09:57:04.577 回答
1

正如您从此处的手册页http://php.net/fputcsv中看到的那样,您可以使用此函数在 csv 文件中添加一行(因此一行的所有列)

考虑到第一个参数是文件指针,第二个参数是一个数组,其中包含一行的所有值,您可以像这样创建数组:

foreach ($tablepeople as $key=>$value)
{
    fputcsv($fp, array($key, $value);
}
于 2012-07-27T09:56:23.610 回答
1
$csv_array = Array();
foreach($tablepeople as $k => $v) {
    $csv_array[] = Array($k, $v);
}
fputcsv($fp, $csv_array);
于 2012-07-27T09:56:49.680 回答