LimitIterator クラス

はじめに

LimitIterator クラスは、ある Iterator 上の限られたサブセットに対する反復処理を行います。

クラス概要

LimitIterator
extends IteratorIterator
/* メソッド */
public LimitIterator::__construct(Iterator $iterator, int $offset = 0, int $limit = -1)
public mixed LimitIterator::current()
public int LimitIterator::getPosition()
public mixed LimitIterator::key()
public void LimitIterator::next()
public void LimitIterator::rewind()
public int LimitIterator::seek(int $offset)
public bool LimitIterator::valid()
/* 継承したメソッド */
public mixed current()
public Iteratornull getInnerIterator()
public mixed key()
public void next()
public void rewind()
public bool valid()

例1 LimitIterator の使用例

<?php

// 限定した処理を行うイテレータを作成します
$fruits = new ArrayIterator(array(
    'apple',
    'banana',
    'cherry',
    'damson',
    'elderberry'
));

// 最初の三つの果物だけをループ対象とします
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
    var_dump($fruit);
}

echo "\n";

// 三番目の果物から最後までをループ対象とします
// 注意: オフセットは 0 から始まり、0 は apple です
foreach (new LimitIterator($fruits, 2) as $fruit) {
    var_dump($fruit);
}

?>

上の例の出力は以下となります。

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

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

目次