我正在尝试创建CSV文件。我做到了这一点。我把下面的内容放在循环外面的第一行和最后一行。
$FileHandle = fopen('tech.csv', 'a+') or die("can't open file");
$stringa = $item." , ".$item2."\r\n";
fwrite($FileHandle, $stringa);
fclose($FileHandle);
但是,它在CSV文件中显示如下:
a
b
c
d
而不是我想要的方式:
a b
c d
基本上是两列而不是一列。
我做错了什么?
答案 0 :(得分:3)
我真的希望你不要在每次迭代中打开和关闭文件,因为这会给文件系统带来真正的压力。相反,你可以这样做:
$csv = array();
foreach($myData as $row) {
$csv[] = trim($row['item1']).','.trim($row['item2']);
}
file_put_contents('tech.csv', implode("\r\n", $csv), FILE_APPEND);
或者,您可以使用fputcsv功能:
$fp = fopen('tech.csv', 'a+');
foreach($myData as $row) {
fputcsv($fp, array(trim($row['item1']), trim($row['item2']));
}
fclose($fp);
答案 1 :(得分:3)