你好我在PHP中有一个如下所示的数组:
Array
(
[0] => 20140723,8,156.62,LTD.
20140418-23,16-4010061201,936-438-2501,Y,23,20140418,V849,10.00
20140418-29,16-4010091102,936-438-2501,Y,29,20140418,V849,2.00
0,16-4010091102,936-436-0524,works.com,Y,0,20140723,0,0
0,16-4010061201,936-438-2501,waterw.com,Y,0,20140723,0,0
0,16-4010091102,936-438-2501,waterworks.com,Y,0,20140723,0,0
[1] => 140723-1548.csv
)
我想要做的是创建一个csv文件,其内容是上面数组的第一个索引,标题是第二个数组索引。我使用了以下功能:
function createCSV($Myarray, $filename){
$fp = fopen($filename, "w");
fputcsv($fp, array($Myarray));
fclose($fp);
}
我就这样称呼它:
createCSV($Myarray[0], $Myarray[1]);//$Myarray is the array above
我遇到的问题是csv输出中的第一个单元格具有来自数组第一个索引的所有数据,我想要的是将每个第一个索引数组行放在csv的一行中。
由于
答案 0 :(得分:0)
使用以下代码
function createCSV($Myarray, $filename){
$fp = fopen($filename, "w");
fputcsv($fp, split(',',$Myarray));
fclose($fp);
}
或只是
function createCSV($Myarray, $filename){
$fp = fopen($filename, "w");
fputs($fp, $Myarray);
fclose($fp);
}
的解释:
fputcsv在csv中为相应的数组元素创建一个单元,而不管数组中的数据如何。在你的情况下,你只是传递一个数组元素与逗号分隔字符串作为值。 fputcsv的行为正确,只能生成一个csv列。因此用户可以在多个数组元素中输入或拆分数据