2014-12-26 33 views
0
  • 繼續PHP duplicate staffIDPHP CSV文件問題(部分2)

  • 代碼
    $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); 
    
  • 輸出(回聲$替換)
    0001 |阿里| N | OK
    技術|阿布扎比| N | OK
    0003 |艾哈邁德| N | OK
    0004 |拉朱| Y |只有一位經理允許!
    0005 | Siti | Y |只有一位經理允許!

  • 在CSV文件(staffreport.csv)
    0001 |阿里| N | OK
    技術|阿布扎比| N | OK
    0003 |艾哈邁德| N | OK
    「0004 |西蒂| Y |只有一位經理允許!「
    「0005 | Raju | Y |只有一個經理允許!」

  • 爲什麼我的csv文件有雙引號(「」)?我如何解決它?

回答

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

希望幫助。