A classe LimitIterator

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

Introdução

A classe LimitIterator permite a iteração sobre um subconjunto limitado de itens em um Iterator.

Resumo da classe

class LimitIterator extends IteratorIterator {
/* Métodos */
public __construct(Iterator $iterator, int $offset = 0, int $limit = -1)
public current(): mixed
public getPosition(): int
public key(): mixed
public next(): void
public rewind(): void
public seek(int $offset): int
public valid(): bool
/* Métodos herdados */
}

Exemplos

Exemplo #1 Exemplo de uso de LimitIterator

<?php

// Cria um iterador para ser limitado
$fruits = new ArrayIterator(array(
'apple',
'banana',
'cherry',
'damson',
'elderberry'
));

// Percorre pelas três primeiras frutas somente
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
var_dump($fruit);
}

echo
"\n";

// Percorre a partir da terceira fruta até o final
// Observação: a posição inicia a partir de zero para "apple"
foreach (new LimitIterator($fruits, 2) as $fruit) {
var_dump($fruit);
}

?>

O exemplo acima produzirá:

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

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

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
1
christophg at grenz-bonn dot de
3 years ago
If the inner iterator implements SeekableIterator, LimitIterator uses seek() after rewind() to move to the offset.
To Top