读取一个 txt 文本文件,里面是一行一个 userid,需要给这些用户发送文件(做什么不重要),发送文件接口支持一次最多发 10 个用户,所以需要分批发送,每 10 个 userid 作为一批。

这种场景很常见,尤其是一次处理量太大了需要分批的情况。其实类似于如下例子,遍历每个数字,每 5 个作为一组(这里是 10 个):

1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18

基本思想就是:遍历的时候计数,取模可以知道是否满足 10 个,每 10 个一发送。但是要注意最后如果存在剩余不足 10 个的情况不能漏了。代码如下:

$uidFile = storage_path('app/public') . DIRECTORY_SEPARATOR . $task['uid_file'];

$count = 0;

$max = 10;

//分批发送

foreach (file($uidFile) as $line) {

$userID = intval($line);

if ($userID <= 0) {

continue;

}

$userIDs[] = $userID;

$count++;

if ($count % $max == 0) {

$this->sendMail($userIDs, $files, (string)$task['note'], (int)$task['reward'], $task);

$userIDs = [];

}

}

if ($userIDs) {

$this->sendMail($userIDs, $files, (string)$task['note'], (int)$task['reward'], $task);

}

php 分批处理,PHP 遍历元素并分批处理实现代码相关推荐

  1. php 分批处理,PHP 遍历元素并分批处理

    读取一个 txt 文本文件,里面是一行一个 userid,需要给这些用户发送文件(做什么不重要),发送文件接口支持一次最多发 10 个用户,所以需要分批发送,每 10 个 userid 作为一批. 这 ...

  2. 集合嵌套存储和遍历元素的示例

    1 /** 2 * @Auther: lzy 3 * @Date: 2018/12/12 16:07 4 * @Description: 集合嵌套存储和遍历元素的示例 5 */ 6 public cl ...

  3. jQuery 元素操作——遍历元素

    jQuery 元素操作 主要是遍历.创建.添加.删除元素操作 <!DOCTYPE html> <html lang="en"><head>< ...

  4. JS 查看标签下某元素所有信息(查看元素,查询元素,遍历元素、HTMLCollection对象、NodeList对象)

    NodeList 对象是一个从文档中获取的节点列表 (集合) . NodeList 对象类似 HTMLCollection 对象. 一些旧版本浏览器中的方法(如:getElementsByClassN ...

  5. hashmap中的key是有序的么_深入理解HashMap遍历元素的顺序

    HashMap遍历元素的顺序. 一,HashMap元素的底层存储顺序 我们都知道HashMap是"无序"的,也就是说不能保证插入顺序.但是,HashMap其实也是有序的,一组相同的 ...

  6. java使用org.w3c.dom解析XML文档,创建、增删查改,保存,读取,遍历元素等操作

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用org.w3c.dom(java dom)解析XML文档,创建.增删查改,保存,读取,遍历元素等操作 在保存文件时需要载入crimso ...

  7. jquery遍历元素children、find、parent、parents、parentsUntil、next、prev、siblings、closest、filter、not

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程2-DOM操作全解 jquery遍历元素 jquery元素的函数包括children.find.parent.parents.parentsUn ...

  8. [转载] python enumerate函数 实例_python中使用enumerate函数遍历元素实例

    参考链接: Python enumerate() 这个是python的一个内建函数,看书的时候发现了他,mark一下 当我们既需要遍历索引同时需要遍历元素的时候,可以考虑使用enumerate函数,e ...

  9. jQuery元素操作-遍历元素

    1.jQuery元素操作 1.1.遍历元素-语法1 主要遍历dom对象 <!DOCTYPE html> <html lang="en"> <head& ...

最新文章

  1. Hadoop + MapReduce 端口自定义配置
  2. 遗传算法对于神经网络的优生优育
  3. Spring Boot 如何快速改造老项目?
  4. HDU1756(判断点在多边形内外)
  5. 一文读懂 | 进程并发与同步
  6. Hyperledger Fabric Membership Service Providers (MSP)——成员服务
  7. TCP系列05—连接管理—4、TCP连接的ISN、连接建立超时及TCP的长短连接
  8. 谈谈linux系统调用
  9. (USB HID) Report Descriptor 理解
  10. Docker教程小白实操入门(3)--如何启动一个已经停止的容器
  11. 如何安装matlab?官网下载详细教程
  12. 走进计算机病毒-基础知识
  13. 前端实现Word在线预览
  14. 使用大白鲨进行木马攻击实验并实现爆破目标机账号密码以远程连接
  15. 计算机磁盘扩展,win7如何对硬盘进行扩展分区
  16. 【面经】兴业证券大数据工程师面经
  17. html中如何设置动画鼠标,使用animate动画库添加鼠标经过动画
  18. [USACO2.4]两只塔姆沃斯牛 The Tamworth Two
  19. 数据结构课后习题答案
  20. 什么是模块化,为什么要模块化

热门文章

  1. 7座MPV和7座SUV有多大区别?
  2. c++ 解析.csv文件(全)
  3. Apache Sentry详细讲解
  4. 怎么在抖音中一键复制微信号打开微信
  5. 积分兑换商城平台对门店的优势
  6. 个人学习笔记——Javascript基础学习---DOM基础(阶段总结)
  7. windows服务器ssl漏洞修复,Windows Server 2008或2012 修复CVE-2016-2183(SSL/TLS)漏洞的办法...
  8. 【重铸Java根基】理解Java反射机制
  9. 机器学习(二)——竞争神经网络-SOM
  10. 命题逻辑——病狗问题