2014-10-02 47 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