成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP 遍歷元素并分批處理

icattlecoder / 3212人閱讀

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

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

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

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

基本思想就是:遍歷的時候計數(shù),取??梢灾朗欠駶M足 10 個,每 10 個一發(fā)送。但是要注意最后如果存在剩余不足 10 個的情況不能漏了。代碼如下:

$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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26030.html

相關(guān)文章

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

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

    lijy91 評論0 收藏0
  • PHPer面試指南-PHP

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

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

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

    awkj 評論0 收藏0
  • React Fiber 原理介紹

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

    leap_frog 評論0 收藏0
  • MongoCursor簡單總結(jié)

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

    Sourcelink 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<