成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

PHP 遍歷元素并分批處理

icattlecoder / 3290人閱讀

摘要:其實(shí)類(lèi)似于如下例子,遍歷每個(gè)數(shù)字,每個(gè)作為一組這里是個(gè)基本思想就是遍歷的時(shí)候計(jì)數(shù),取??梢灾朗欠駶M(mǎn)足個(gè),每個(gè)一發(fā)送。代碼如下分批發(fā)送省略上下文。

讀取一個(gè) txt 文本文件,里面是一行一個(gè) userid,需要給這些用戶(hù)發(fā)送文件(做什么不重要),發(fā)送文件接口支持一次最多發(fā) 10 個(gè)用戶(hù),所以需要分批發(fā)送,每 10 個(gè) userid 作為一批。

這種場(chǎng)景很常見(jiàn),尤其是一次處理量太大了需要分批的情況。其實(shí)類(lèi)似于如下例子,遍歷每個(gè)數(shù)字,每 5 個(gè)作為一組(這里是 10 個(gè)):

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

基本思想就是:遍歷的時(shí)候計(jì)數(shù),取模可以知道是否滿(mǎn)足 10 個(gè),每 10 個(gè)一發(fā)送。但是要注意最后如果存在剩余不足 10 個(gè)的情況不能漏了。代碼如下:

$uidFile = storage_path("app/public") . DIRECTORY_SEPARATOR . $task["uid_file"];
$count = 0;
$max = 10;

//分批發(fā)送
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);
}

省略上下文。

(隨手記錄一下代碼片段,以備日后參考,原文地址:https://blog.tanteng.me/2017/...)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/26030.html

相關(guān)文章

  • 通過(guò)函數(shù)節(jié)流與函數(shù)分時(shí)提升應(yīng)用性能

    摘要:結(jié)束語(yǔ)在這里,我們雖然僅僅涉及了一些高階函數(shù)應(yīng)用的皮毛,但這兩個(gè)技巧,實(shí)是項(xiàng)目開(kāi)發(fā)當(dāng)中克敵制勝,提高性能的實(shí)戰(zhàn)利器。 通過(guò)函數(shù)節(jié)流與函數(shù)分時(shí)提升應(yīng)用性能 在例如表單自動(dòng)補(bǔ)全,數(shù)據(jù)埋點(diǎn),文章內(nèi)容自動(dòng)保存,視口監(jiān)聽(tīng),拖拽,列表渲染等高頻操作時(shí),如果同時(shí)有其它UI行為占據(jù)線(xiàn)程,瀏覽器端時(shí)常會(huì)出現(xiàn)卡頓現(xiàn)象,服務(wù)器端也面臨著較大壓力。這時(shí),函數(shù)節(jié)流,與函數(shù)分時(shí)將成為我們的一大輔助。 一、函數(shù)...

    lijy91 評(píng)論0 收藏0
  • PHPer面試指南-PHP

    摘要:本書(shū)的地址篇收集了一些常見(jiàn)的基礎(chǔ)進(jìn)階面試題,基礎(chǔ)的面試題不再作答。如何實(shí)現(xiàn)持久化持久化,將在內(nèi)存中的的狀態(tài)保存到硬盤(pán)中,相當(dāng)于備份數(shù)據(jù)庫(kù)狀態(tài)。相當(dāng)于備份數(shù)據(jù)庫(kù)接收到的命令,所有被寫(xiě)入的命令都是以的協(xié)議格式來(lái)保存的。 本書(shū)的 GitHub 地址:https://github.com/todayqq/PH... PHP 篇收集了一些常見(jiàn)的基礎(chǔ)、進(jìn)階面試題,基礎(chǔ)的面試題不再作答。 基礎(chǔ)篇 ...

    stackvoid 評(píng)論0 收藏0
  • 遍歷PHP數(shù)組的6種方式

    摘要:遍歷完成后返回一個(gè)新的數(shù)組你可以同時(shí)處理多個(gè)數(shù)組你好嗎原罪你好嗎原罪是的,遍歷的次數(shù)以最長(zhǎng)的數(shù)組為準(zhǔn)。假如你處理的是二維數(shù)組,處理方式也是萬(wàn)變不離其宗的。 在PHP的日常操作中,數(shù)組是最常出現(xiàn)的結(jié)構(gòu),而我們幾乎每天都在處理數(shù)組相關(guān)的內(nèi)容。那么問(wèn)題來(lái)了,你一般怎么遍歷并處理數(shù)組。 1、foreach 很熟悉吧,是不是你的最?lèi)?ài)? $arr = [a, b, c]; foreach ($a...

    awkj 評(píng)論0 收藏0
  • React Fiber 原理介紹

    摘要:如果運(yùn)算持續(xù)占用主線(xiàn)程,頁(yè)面就沒(méi)法得到及時(shí)的更新。三解題思路解決主線(xiàn)程長(zhǎng)時(shí)間被運(yùn)算占用這一問(wèn)題的基本思路,是將運(yùn)算切割為多個(gè)步驟,分批完成。這顆新樹(shù)每生成一個(gè)新的節(jié)點(diǎn),都會(huì)將控制權(quán)交回給主線(xiàn)程,去檢查有沒(méi)有優(yōu)先級(jí)更高的任務(wù)需要執(zhí)行。 歡迎關(guān)注我的公眾號(hào)睿Talk,獲取我最新的文章:showImg(https://segmentfault.com/img/bVbmYjo); 一、前言 在...

    leap_frog 評(píng)論0 收藏0
  • MongoCursor簡(jiǎn)單總結(jié)

    摘要:要不要顯式關(guān)閉查詢(xún)數(shù)據(jù)實(shí)現(xiàn)一實(shí)現(xiàn)二實(shí)現(xiàn)二更方便簡(jiǎn)潔但是沒(méi)有顯式關(guān)閉有沒(méi)問(wèn)題呢一些結(jié)論如果已被遍歷完會(huì)自動(dòng)關(guān)閉無(wú)需顯式關(guān)閉所以實(shí)現(xiàn)二沒(méi)有問(wèn)題如果只是遍歷了部分?jǐn)?shù)據(jù)需要顯式關(guān)閉在遍歷過(guò)程中同時(shí)處理其他業(yè)務(wù)邏輯需要在中關(guān)閉避免中間報(bào)了異常沒(méi)有迭代 cursor要不要顯式關(guān)閉 Mongo查詢(xún)數(shù)據(jù)實(shí)現(xiàn)一 MongoCursor cursor = collection.find().limit(l...

    Sourcelink 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<