◐ Shell
clean mode source ↗

PHP: LimitIterator - Manual

The LimitIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introduction

The LimitIterator class allows iteration over a limited subset of items in an Iterator.

Class synopsis

Examples

Example #1 LimitIterator usage example

<?php

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// Loop from third fruit until the end
// Note: offset starts from zero for apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

The above example will output:

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

Table of Contents

Found A Problem?

christophg at grenz-bonn dot de

4 years ago

If the inner iterator implements SeekableIterator, LimitIterator uses seek() after rewind() to move to the offset.

woody dot gilk at gmail dot com

8 months ago

Note that the keys are NOT altered by LimitIterator, so:

$items = new LimitIterator([0 => 'foo', 1 => 'bar', 2 => 'baz'], 1, 1);

// $items is effectively [1 => 'bar']