LimitIterator 类

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

简介

The LimitIterator 类允许迭代 Iterator 中的有限子集项。

类概要

class LimitIterator extends IteratorIterator {
/* 方法 */
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
/* 继承方法 */
}

示例

示例 #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";

// 从第三个水果循环到最后
// 注意:偏移量从苹果开始为零
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"

目录

添加备注

用户贡献笔记 1 条笔记

christophg at grenz-bonn dot de
3 年前
如果内部迭代器实现了 SeekableIterator,LimitIterator 会在 rewind() 之后使用 seek() 来移动到偏移量。
To Top