2013-10-01 2 views
-1

Я вижу несколько способов сделать это, и, пожалуйста, несите меня, поскольку я новичок в PHP.PHP Вложенная петля со счетом

У меня есть список вещей, которые я хочу, чтобы печатать на этикетках, листы с этикетками имеют 8 для печати этикеток, поэтому мне нужно цикл, чтобы собрать все предметы и добавить разрыв страницы после 8 этикетками:

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

Теперь после 8 пунктов мне нужно добавить перерыв страницы

Итак, я собирался вставить вложенную петлю со счетом внутри и приращением, но я не знаю, является ли это лучшим способом?

Я в основном спрашиваю, как лучше всего подойти к этому, так как могут быть тысячи предметов, поэтому хотелось бы, чтобы он был настолько эффективным, насколько это возможно.

Заранее спасибо.

+0

добавить $ i ++ в конец цикла –

+0

Спасибо, извините, пропустил это. – Paul

+0

no problum вы можете проголосовать за это –

ответ

0

Попробуйте ниже код:

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

DEMO

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

Это простой пример.

Смежные вопросы