PHP Conference Japan 2024

LimitIterator 類別

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

簡介

LimitIterator 類別允許迭代 Iterator 中的有限項目子集。

類別概要

class LimitIterator extends IteratorIterator {
/* 方法 */
公開 __construct(迭代器 $iterator, 整數 $offset = 0, 整數 $limit = -1)
公開 current(): 混合
公開 key(): 混合
公開 next():
公開 rewind():
公開 seek(整數 $offset): 整數
公開 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";

// 從第三個水果迴圈到最後
// 注意:偏移量從 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"

目錄

新增筆記

使用者貢獻的筆記 1 則筆記

1
christophg at grenz-bonn dot de
3 年前
如果內部迭代器實作了 SeekableIterator,LimitIterator 會在 rewind() 後使用 seek() 移至偏移量。
To Top