为循环中的每个第 3 项和第 4 项添加一个结束 html 标记

add a closing html tag for each 3rd and 4th item in a loop

我有一个设计需要在 foreach 循环中实现。

我需要为循环中的每个第 3 个和第 4 个值添加 html 结束标记。有人有解决方案吗?

示例数组:

$array = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);

需要在 foreach 或 for 循环中添加条件 我正在尝试这样实现它:

$tmp = '';
$count = 1;
foreach($array as $val){

    if($tmp == 1){
        echo "Second Box".$val."<br>";
        $tmp=0;
        $count++;
    }else{
        if($count % 2 == 0){
            echo "Second Box".$val."<br>";

            $tmp = 1;
        }else{
            echo "First Box".$val."<br>";
        }
    }
    $count++;
}

out put

First Box1
Second Box2
Second Box3

First Box4
Second Box5
Second Box6

First Box7
Second Box8
Second Box9

First Box10
Second Box11
Second Box12

First Box13
Second Box14
Second Box15

First Box16
Second Box17
Second Box18

First Box19
Second Box20
Second Box21

上面的输出是这样的:

这样做...

将$f设置为第一个块数量,将$s设置为第二个....

$array = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);

$f = 3;
$s = 4;
$c = $f;
$i = 0;
foreach($array as $val){

    $i = $i + 1;
    echo $val;

    if ($i % $c == 0) {
        echo '<br>';  // add your row html tags here
        if ($c == $f) {
            $c = $s;
        } else {
            $c = $f;
        }
        
        $i = 0;
    }