La clase LimitIterator

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

Introducción

La clase LimitIterator permite recorrer un limitado subconjunto de elemento de un Iterator.

Sinopsis de la Clase

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

Ejemplos

Ejemplo #1 Ejemplo de uso de LimitIterator

<?php

// Crea un iterador a limitar
$frutas = new ArrayIterator(array(
'manzana',
'banana',
'cereza',
'ciruela',
'baya'
));

// Recorre el bucle sólo para las tres primeras frutas
foreach (new LimitIterator($frutas, 0, 3) as $fruta) {
var_dump($fruta);
}

echo
"\n";

// Recorre el bucle desde la tercera fruta hasta el final
// Nota: empieza por 0, por manzana
foreach (new LimitIterator($frutas, 2) as $fruta) {
var_dump($fruta);
}

?>

El resultado del ejemplo sería:

string(7) "manzana"
string(6) "banana"
string(6) "cereza"

string(6) "cereza"
string(7) "ciruela"
string(4) "baya"

Tabla de contenidos

add a note

User Contributed Notes 1 note

up
0
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