PHP Conference Japan 2024

LimitIterator 类

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

简介

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 个笔记

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