为了账号安全,请及时绑定邮箱和手机立即绑定

array_map() 仅适用于数组的第一个元素

array_map() 仅适用于数组的第一个元素

PHP
慕工程0101907 2021-11-05 20:06:57
我正在使用以下电话:$csv = array_map('str_getcsv', file($file), array($delimiter, '"', "\\"));第一行被正确解析为数组,但第二行保留为字符串。测试文件中的CSV分隔符(分号)是一致的,我找不到奇怪的字符。如果我添加sep=;. 什么问题可能导致这种情况?
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

这是对array_map如何工作的误解(文档中的语言相当混乱)。


取给定的片段:


$csv = array_map('str_getcsv', file($file), array($delimiter, '"', "\\"));


这在功能上类似于执行以下操作:


str_getcsv('line one of $file', $delimiter);

str_getcsv('line two of $file', '"');

str_getcsv('line three of $file', "\\");

这就是为什么第一行似乎有效的原因,因为分隔符是正确的,但后续的却没有,因为第二个参数在 CSV 的上下文中不正确。


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信