Collections with SPL
Limit Iterator
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.