【问题标题】:PHP CSV file issues(part 2)PHP CSV 文件问题(第 2 部分)
【发布时间】:2014-12-26 06:44:10
【问题描述】:
  • 继续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);
    
  • 输出(回显 $replace)
    0001|阿里|N|OK
    0002|阿布|N|确定
    0003|艾哈迈德|N|好的
    0004|Raju|Y|只允许一名经理!
    0005|Siti|Y|只允许一名经理!

  • 在 CSV 文件中 (staffreport.csv)
    0001|阿里|N|OK
    0002|阿布|N|确定
    0003|艾哈迈德|N|好的
    "0004|Siti|Y|只允许一名经理!"
    “0005|Raju|Y|只允许一名经理!”

  • 为什么我的 csv 文件有双引号(“”)?我该如何解决?

【问题讨论】:

    标签: php csv


    【解决方案1】:

    像这样改变这一点。

    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,'|','');
    

    希望有帮助。

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 2011-07-06
      • 1970-01-01
      相关资源
      最近更新 更多