PHP 如何分割一个特别长的字符串?

2014-07-04 13:39:48 +08:00
 haython
有1千万个数字用逗号连接的的长字符串,怎么分割成数组,而且不至于内存超出默认的128M的限制?
3589 次点击
所在节点    PHP
5 条回复
alex321
2014-07-04 14:15:43 +08:00
你是说 csv 文件咩?
shiny
2014-07-04 14:36:50 +08:00
1千万个数字不算很多吧?
如果超过内存限制就用 fread 一点点读,读到逗号就把之前读的数字添加到数组里。
不过数组仍有超过内存限制的可能。
ferock
2014-07-04 14:49:42 +08:00
关键是读来干嘛?什么信息会有1000W 个?
54xiaobin
2014-07-04 14:54:52 +08:00
1kw个数字分割成数组干嘛。。。
sampeng
2014-07-04 16:37:17 +08:00
用刀切割。。。哈哈跑题了。
1千万个数字。用逗号分割。。数字有多大?
算平均10位好吧。加个逗号1
(11*10000000)/1024/1024=104M.没超过默认限制over。。。但是。可能会超过处理时间30s。因为不知道你要干什么。。。你这个问题比较纠结。。只说怎么切。又不说干嘛用。。让我们怎么帮忙呢?

高端点的可以先把这个字符串文本切分成10个小文件。然后再做处理。
如果只是为了分析1千万个数字。。为毛要用php。。。。不理解= =!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX