以下是代码的相关摘要:
... (above this snippet is just variable initialization & such) ...
// Putting the variables in a list
$list = array("$val1; $val2; $val3; $val4; $val5");
// Opening the CSV file
$file = fopen("tickets.csv","w");
// Writing the values into the CSV file
foreach ($list as $line){
fputcsv($file,explode(',',$line));}
// Close the CSV file.
fclose($file);
上述代码的结果是:
"Variable1; Variable2; Variable3; Variable4; Variable5"
但我希望结果是:
Variable1; Variable2; Variable3; Variable4; Variable5
因为这样,每个变量都存储在CSV excel文件中它自己的列中。我该如何实现这一目标?简单地在 $ list 中声明数组时删除“”,数组并没有真正削减它。提前谢谢,欢呼!
答案 0 :(得分:2)
您必须让fputcsv()
完成工作。告诉它使用;
作为分隔符而不是','。
$line1 = array("foo", "bar");
$line2 = array($val1, $val2, $val3, $val4, $val5);
$list = array($line1, $line2);
$file = fopen("tickets.csv","w");
foreach ($list as $line) fputcsv($file, $line, ';');
fclose($file);
答案 1 :(得分:0)
使用trim
函数可能会执行您正在寻找的内容。
fputcsv($file, trim(explode(',',$line), '"'));