2014-10-02 50 views
0

我有一個API即時通訊工具,每5秒接受一次呼叫,不僅僅是它不會響應。在每次調用中,它將一批接受5條記錄。我列出了需要使用api檢查的1000個記錄列表,所以我試圖做的是將其中的記錄列表每5秒鐘分成5個批次。使用php批量循環使用php

我可以得到它的大部分工作,但我無法形象是打破記錄的列表,這是一個批量數組,任何想法如何做到這一點?

這是我使用的下方,但它的輸出陣列中的每個單獨的部分每隔5秒,而不是在5

$my_array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]; 

    foreach ($my_array as $key => $value) { 
     sleep (5); 
     echo $value; 
    } 
+0

到目前爲止,你沒有做任何事情來拆分你的數組。你需要以某種方式將它分成大塊。嗯,我不知道PHP是否有某種[數組塊功能](http://uk1.php.net/manual/en/function.array-chunk.php)... – 2014-10-02 11:25:40

回答

2

批次,你可以有的

第二循環的代碼
$batch_of = 5; 
$batch = array_chunk($my_array, $batch_of); 
foreach($batch as $b) { 

    foreach ($b as $key => $value) { 

     echo $value; 
    } 
    sleep (5); 
} 

這將工作打算

0

使用

if(($key + 1) % 5 == 0){ sleep(5);} 

在你的循環中

+0

你可以給更多的上下文爲什麼和在哪裏必須使用這種情況? – elvismdev 2017-01-14 21:42:45