代码
$data[0] = 0001,Ali,N,OK
$data[1] = 0002,Abu,N,OK
$data[2] = 0003,Ahmad,N,OK
$data[3] = 0004,Siti,Y,Not OK. Only one manager allowed!
$data[4] = 0005,Raju,Y, Not OK. Only one manager allowed!
我将其写成如下:
for($i = 0; $i < 5; $i++)
{
$data[i] = $staffID[$i].','.$staffname[$i].','.$ismanager[$i].','.$remark[$i];
}
接下来我去写csv文件。
$file_format = "staffreport.csv";
$file = fopen($file_format,"w");
foreach($data as $line)
{
$replace = str_replace(",","|", $line);
fputcsv($file, array($replace));
echo $replace.'<br />';
}
fclose($file);
输出(echo $ replace)
0001 |阿里| N | OK
技术|阿布扎比| N | OK
0003 |艾哈迈德| N | OK
0004 | Raju | Y |只允许一位经理!
0005 | Siti | Y |只允许一位经理!
在CSV文件(staffreport.csv)中
0001 |阿里| N | OK
技术|阿布扎比| N | OK
0003 |艾哈迈德| N | OK
“0004 | Siti | Y |只允许一位经理!”
“0005 | Raju | Y |只允许一位经理!”
为什么我的csv文件有双引号(“”)?我该如何解决?
答案 0 :(得分:2)
这样改变这一点。
for($i = 0; $i < 5; $i++)
{
$data[i] = array($staffID[$i],$staffname[$i],$ismanager[$i],$remark[$i]);
}
fputcsv
想要一个列数组,然后根据需要插入分隔符和引号。
fputcsv通常使用逗号分隔符:执行此操作:
fputcsv($file, $line,'|');
为什么报价?可能是因为空间。
如果你必须避免引号,
fputcsv($file, $line,'|','');
希望有所帮助。