Вот мой массив:
$array = array(1,2,3,4,5,6,7,8,9,10);
Я хочу перебрать массив 5 раз, сделать что-то еще, а затем возобновить итерацию с того места, где я остановился.
foreach ($array as $value) {
//do something until key 5
}
//do something else now
//resume...
foreach ($array as $value) {
//key should start at 6
}
Как я могу это сделать? Есть ли способ достичь этого с помощью цикла foreach?
Обновление: Я понял, что было бы глупо повторять один и тот же код дважды. Причина, по которой я спрашивал об этом, заключается в том, что я использую цикл foreach
для отображения строк таблицы. Я хотел показать первые пять, а остальные спрятать. Вот что я закончил:
<?php
$counter = 1;
foreach ($array as $object): ?>
<?php if ($counter > 5): ?>
<tr style="display: none;">
<?php else: ?>
<tr>
<?php endif; ?>
<td><?php echo $object->name; ?></td>
</tr>
<?php $counter++; ?>
<?php endforeach; ?>