当我使用 fputcsv 将一行写出到打开的文件句柄时,PHP 会向它认为需要它的任何列添加一个封闭字符,但会让其他列没有附件。

例如,你可能会得到这样的一行

11,"Bob ",Jenkins,"200 main st. USA ",etc

除了在每个字段的末尾附加一个虚假空格之外,有没有办法强制 fputcsv 始终用 shell (默认为“)字符将列括起来?

最佳答案

否,fputcsv() 仅在以下条件下封闭该字段

/* enclose a field that contains a delimiter, an enclosure character, or a newline */
if (FPUTCSV_FLD_CHK(delimiter) ||
  FPUTCSV_FLD_CHK(enclosure) ||
  FPUTCSV_FLD_CHK(escape_char) ||
  FPUTCSV_FLD_CHK('\n') ||
  FPUTCSV_FLD_CHK('\r') ||
  FPUTCSV_FLD_CHK('\t') ||
  FPUTCSV_FLD_CHK(' ')
)

没有“始终附上”选项。

关于php - 强制 fputcsv 对 *all* 字段使用 Enclosure,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2489553/

10-16 08:47