函式名:FilterIterator::__construct()
適用版本:所有版本的 PHP
用法:FilterIterator::__construct() 是 FilterIterator 類的建構函式。它用於建立一個新的 FilterIterator 物件,並可選地接受一個 Iterator 物件作為引數。
語法:public FilterIterator::__construct ( Iterator $iterator )
引數:
$iterator
:可選引數,要過濾的迭代器物件。
示例:
// 建立一個陣列迭代器
$array = ['apple', 'banana', 'orange'];
$iterator = new ArrayIterator($array);
// 建立一個過濾器迭代器,只保留長度大於 5 的元素
class LengthFilter extends FilterIterator {
public function accept() {
$current = $this->current();
return strlen($current) > 5;
}
}
$filterIterator = new LengthFilter($iterator);
// 遍歷過濾後的結果
foreach ($filterIterator as $item) {
echo $item . PHP_EOL;
}
輸出:
banana
orange
在上面的示例中,我們首先建立了一個陣列迭代器 $iterator
,然後我們定義了一個自定義的過濾器迭代器 LengthFilter
,該過濾器只保留長度大於 5 的元素。最後,我們使用 LengthFilter
迭代器來遍歷過濾後的結果,並輸出滿足條件的元素。
請注意,FilterIterator::__construct()
方法是 FilterIterator 類的建構函式,因此我們在建立自定義的過濾器迭代器時需要呼叫該建構函式來初始化父類的屬性和方法。