函数名称: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()
来获取当前迭代器指向的元素。然后,通过判断元素是否为偶数来决定是否通过过滤条件。