PHP CSV文件问题(第2部分)

时间:2014-12-26 06:44:10

标签: php csv

  • 继续PHP duplicate staffID

  • 代码
    $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文件有双引号(“”)?我该如何解决?

1 个答案:

答案 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,'|','');
希望有所帮助。