PHP 嵌套循环与计数


PHP Nested Loop with count

我可以看到一些方法,请耐心等待,因为我是PHP的新手。

我有一个要打印到标签上的项目列表,标签页有 8 个可打印标签,所以我需要一个循环来收集所有项目并在 8 个标签后添加分页符:

foreach ($items as $item) {
    $i = 1;
    while ($i <= 8) {            
        Repeat this for 8 labels                   
    }
}

现在在 8 个项目之后,我需要添加一个分页符

所以我打算在里面放一个嵌套循环,里面有一个计数并递增,但我不知道这是否是最好的方法?

我基本上是在问解决这个问题的最佳方法是什么,因为可能有数千个项目,所以希望它尽可能高效。

提前谢谢。

尝试以下代码:

$j = 0;
foreach ($items as $item) {
    $j++;
    if($j%8 == 0) {
        echo "Repeat label for 8 record<br />";
    }
}

为什么不使用for循环和模数?

<?php
    $everyNth = 32;
    for ($i = 0; $i < 1234; $i++) {
        if ($i > 0 && !($i % $everyNth)) {
            echo $i . PHP_EOL;
        }
    }
?>

指纹:

32
64
96
128
160
192
224
256
288
320
352
384
416
448
480
512
544
576
608
640
672
704
736
768
800
832
864
896
928
960
992
1024
1056
1088
1120
1152
1184
1216

演示

这样的事情应该可以工作:

$items = array(1,2,3,4,5,6,7,8,9,10);
$i = 1;
foreach ($items as $item) {
    echo $item." ";
    if ($i === 8) {
        echo "<br />";
        $i = 0;
    }
    $i++;
}
<?php
$j = 0;
for($i=0;$i<40;$i++) {
    $j++;
    if($j%8 == 0) {
        echo "Repeat label for 8 record<br />";
    }
}
?>

这是一个简单的例子。