函式名稱:FilterIterator::current()
適用版本:PHP 5, PHP 7
函式描述:該函式用於返回當前迭代器指向的元素。
用法示例:
class CustomFilter extends FilterIterator {
public function accept() {
// 過濾條件
return $this->current() % 2 == 0;
}
}
// 建立一個陣列迭代器
$array = new ArrayIterator([1, 2, 3, 4, 5]);
// 建立一個自定義過濾器迭代器,僅返回偶數
$filtered = new CustomFilter($array);
// 遍歷並輸出符合條件的元素
foreach ($filtered as $item) {
echo $item . " ";
}
輸出結果為:2 4
在上面的示例中,我們定義了一個名為CustomFilter
的自定義過濾器類,繼承自FilterIterator
。在accept()
方法中,我們定義了過濾條件,即僅返回偶數元素。然後,我們建立了一個陣列迭代器$array
,並將其傳遞給CustomFilter
類的例項$filtered
。最後,我們使用foreach
迴圈遍歷$filtered
,並輸出符合條件的元素。
在過濾器類中,我們使用$this->current()
來獲取當前迭代器指向的元素。然後,透過判斷元素是否為偶數來決定是否透過過濾條件。