PHP7.0.1下的csv解析bug

在处理CSV文件时,发现在PHP7.0.1版本中存在一个解析bug,导致某些字段,尤其是以特定汉字结尾时,会被错误地合并到同一个字段。此问题在PHP5.5及PHP7.0.3中未出现。解决方案包括更换PHP版本或使用GBK编码进行临时处理。
摘要由CSDN通过智能技术生成

php中有几个处理csv的函数,fgetcsv($fp)用于从一个文件句柄中读取一条csv记录,并解析成数组,每个元素对应一个字段;fputcsv($fp, $arr)把整个数组转换成一条csv记录,数组的元素对应csv记录中的字段,写入文件中;还有个函数str_getcsv($str),是把一个具有csv格式的字符串解析成数组。

最近工作中需要处理csv格式的文件,生成csv,解析csv。遇到的一个问题困扰了我好几天,好好的csv文件,也是用fputcsv函数生成的,用fgetcsv或者str_getcsv解析时,竟然多出好多字段!

代码如下:

$str = '周一,星期一,Monday,测试地,123456';
$fields = str_getcsv($str);

print_r(array_map(function($v){
   
    // 为了在控制台中正常显示中文,特意转换编码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值