LimitIterator reads only a selected window from another iterator.

Limit Iterator

limit_iterator.php
<?php
$offset = ;
$source = new ArrayIterator(["zero", "one", "two", "three"]);
$window = new LimitIterator($source, $offset, 2);
$items = "";
foreach ($window as $value) {
    if ($items === "") {
        $items = $value;
    } else {
        $items = $items . "," . $value;
    }
}

echo "offset=" . $offset . "\n";
echo "items=" . $items . "\n";
<?php
$offset = ;
$source = new ArrayIterator(["zero", "one", "two", "three"]);
$window = new LimitIterator($source, $offset, 2);
$items = "";
foreach ($window as $value) {
    if ($items === "") {
        $items = $value;
    } else {
        $items = $items . "," . $value;
    }
}

echo "offset=" . $offset . "\n";
echo "items=" . $items . "\n";
<?php
$offset = ;
$source = new ArrayIterator(["zero", "one", "two", "three"]);
$window = new LimitIterator($source, $offset, 2);
$items = "";
foreach ($window as $value) {
    if ($items === "") {
        $items = $value;
    } else {
        $items = $items . "," . $value;
    }
}

echo "offset=" . $offset . "\n";
echo "items=" . $items . "\n";
bounded iteration Wrapping an iterator with `LimitIterator` keeps the loop focused on a smaller range.