для цикла — PHP Можно ли пропустить две или более итераций?

Я знаю, что мы можем пропустить следующую итерацию с Продолжить в цикле. В любом случае, чтобы пропустить следующие циклы х (2 или более)?

1

Решение

Вы на самом деле не можете, вы можете сделать грязный трюк, как

for ($i=0; $i<99; $i++){
if(someCondition) {
$i = $i + N; // This will sum N+1 because of the $i++ in the for iterator (that fire when the new loop starts)
continue;
}
}
4

Другие решения

Если вы перебираете цикл for (в отличие от цикла foreach), вы можете сделать что-то вроде этого:

for ($i=0; $i<$numLoops; $i++) {
if(condition()) {
$i+= $numLoopsToSkip;
continue;
}
}
1

Возьмем, к примеру, вы можете определить, сколько раз вы хотите зациклить, как вы хотите, как $y

<?php
y = 5;

while (true) {
// do something
if (y > 0) {
y--;
continue;
}
// do something else
}
?>
1

Скоро в PHP ‘X’ 😉

continue += x;
0
По вопросам рекламы [email protected]