背景:接到个任务需要筛选出订单号里的所有不同的手机号,订单数约在2000万+
思路
1.分批获取数据库数据。
2.根据手机号前四位,将取出来的数据分别放在以手机号前四位开头的文件中。如:1880502xxxx 放在文件1880里,1881502xxxx 放在1881里。这些文件统一放在A文件夹下。
3.遍历文件夹A,判断文件是否超出某个设定值,值可由自己定。如果超出,以流式的方法将文件内容读进php,防止内存不足。然后继续拆解,再放进另一个文件夹之中,如:188050210xx 放进 188050210文件中,188050211xx 放假188050211文件中。
4.直到最后所得到的文件小于设定值,则可一次性读到php中,并拆解成数组,使用array_unique函数,一次性获得唯一不重复的号码。