首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]FilterIterator::__construct()函数—用法及示例

发布于 2025-04-26 08:05:39
0
25

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

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流