函数名: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 类的构造函数,因此我们在创建自定义的过滤器迭代器时需要调用该构造函数来初始化父类的属性和方法。