Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建一个5人一组的数组_Php_Arrays_Sleep_Chunks - Fatal编程技术网

Php 创建一个5人一组的数组

Php 创建一个5人一组的数组,php,arrays,sleep,chunks,Php,Arrays,Sleep,Chunks,我有15条记录,前5条记录应该正常迭代,之后所有记录应该间隔2秒,以5条记录为一组,即基本上我应该有3组5条记录。到目前为止,我已经尝试了: $flag = 0; foreach($db_array as $arr){ if($flag>4) { sleep(2); } if($flag >= 15 ) break; $flag++; } 输出: A===07:17:38 B===07:17

我有15条记录,前5条记录应该正常迭代,之后所有记录应该间隔2秒,以5条记录为一组,即基本上我应该有3组5条记录。到目前为止,我已经尝试了:

    $flag = 0;
     foreach($db_array as $arr){ 
    if($flag>4) {
            sleep(2); 
     } 
   if($flag >= 15 ) 
     break;
 $flag++; 
} 
输出:

A===07:17:38 
B===07:17:38 
C===07:17:38
D===07:17:38
E===07:17:38
F===07:17:38 
G===07:17:40 
H===07:17:42 
I===07:17:44 
J===07:17:46
K===07:17:48
L===07:17:50
M===07:17:52 
N===07:17:54 
O===07:17:56
P===07:17:58 07:18:00

我想你可以试试这样的东西:

$flag = 0;
// Fake array, use your own DB array here
$db_array = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","Q","P","R"];
foreach($db_array as $arr){
    if($flag % 5 == 0) {
        sleep(2);
    }
    // Added print to show time
    print_r($arr." - ".date("Y.m.d H:i:s")."\n");
    $flag++;
    if($flag >= 15 )
        break;
}
这将打印出:

A - 2020.09.17 10:47:16
B - 2020.09.17 10:47:16
C - 2020.09.17 10:47:16
D - 2020.09.17 10:47:16
E - 2020.09.17 10:47:16
F - 2020.09.17 10:47:18
G - 2020.09.17 10:47:18
H - 2020.09.17 10:47:18
I - 2020.09.17 10:47:18
J - 2020.09.17 10:47:18
K - 2020.09.17 10:47:20
L - 2020.09.17 10:47:20
M - 2020.09.17 10:47:20
N - 2020.09.17 10:47:20
O - 2020.09.17 10:47:20
基本上

if($flag>4) {
        sleep(2); 
 }
当标志高于4时,此检查将休眠2秒,因此在5、6、7上也是如此。。。
因此,您需要检查flag是否可以被5整除,如果可以,请添加sleep。

只需使用
array\u chunk
,然后使用两个嵌套循环对结果进行迭代…?我试图用array\u chunk分割数组,然后在foreach内部进行foreach,但似乎犯了一些错误,你能详细地指导我吗?我不知道你需要什么样的指导,比如嵌套两个循环来迭代二维数组。向我们展示您尝试了什么,并描述问题的具体原因。