php 文件分割符,PHP fgetcsv()分隔符

围栏是围绕该领域的角色 . 它是一种额外的分隔符 .

例如 hello,world 的逗号为 field 分隔符,没有 text 分隔符,而 "hello","world" 的引号为 text 分隔符 . 有些系统使用分隔和不限值来分别表示文本和数字字段(我相信Microsoft Excel可以) . 这允许字段在其值中包含字段分隔符:

"Hello,world","Second Field","Third, and last, field".

某些其他系统仅包含包含字段分隔符的值或包含空格的值,这意味着在这些系统上,不受限制的值不一定是数字 .

如果你有一个“无关紧要”的情况 - 无限制的值,没有转义的字段分隔符内部值(即没有'A,firstpartB \,secondpartB,C'的东西) - 你可以完全跳过CSV转换并运行

$line = fgets($file, MAX_EXPECTED_LINE_LEN);

// This splits ' A, B, C ' into 'A', ' B' and ' C' (note spaces)

$row = explode(',', trim($line)); // other delimiters can be used

要么

// Consider " , ", "," and ", " as the same delimiter

// i.e. ' Alpha , Beta , Gamma ' gets split into 'Alpha', 'Beta' and 'Gamma'

$row = preg_split('#\\s*,\\s*#', trim($line));

我似乎无法重现您遇到的问题;它可能与行结尾的不同编码有关(即,CRLF而不是LF)?

在紧要关头,您可以在两个组件 fgets 和 str_getcsv() 中分割 fgetcsv ,操纵调用之间的线(使用 trim ,或者如果更糟糕的话,通过附加缺少的逗号来加剧) .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值