Вы не можете. Чтобы вызвать reset
, вам нужно повторно войти в цикл, а для вызова next
вам нужно перейти к следующей итерации.
Итак, самым близким (PHP 5.3) будет:
label:
foreach ($var as $k => $v) {
/* ... */
goto label; //re-enter loop
/* ... */
continue; //force going to the next iteration
/* ... */
}
Если вы используете итераторы напрямую, вы можете использовать эти вызовы:
$r = 0; $s = 0;
$it = new ArrayIterator(array("a" => 3, "b" => 5, "c" => 7));
foreach ($it as $k => $v) {
echo "$k => $v\n";
if ($s == 0) {
$s = 1;
$it->next(); //jump over one iteration
} else if ($r == 0) {
$r = 1;
$it->rewind();
}
}
дает:
a => 3
c => 7
b => 5
c => 7