-1

我可以看到一些这样做的方法,请多多包涵,因为我是 PHP 新手。

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

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

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

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

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

提前致谢。

4

4 回答 4

0
<?php
$j = 0;
for($i=0;$i<40;$i++) {
    $j++;
    if($j%8 == 0) {
        echo "Repeat label for 8 record<br />";
    }
}
?>

这是一个简单的例子。

于 2013-10-01T10:08:56.557 回答
0

像这样的东西应该工作:

$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++;
}
于 2013-10-01T09:56:20.490 回答
0

试试下面的代码:

$j = 0;
foreach ($items as $item) {
    $j++;
    if($j%8 == 0) {
        echo "Repeat label for 8 record<br />";
    }
}
于 2013-10-01T10:01:30.060 回答
0

为什么不使用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

演示

于 2013-10-01T09:51:17.543 回答