English | 简体中文 | 繁體中文
查询

FilterIterator::valid()函数—用法及示例

「 检查迭代器的当前元素是否有效 」


PHP函数:FilterIterator::valid()

适用版本:PHP 5 >= 5.1.0, PHP 7

函数用途:该函数用于检查迭代器的当前元素是否有效。

语法:public FilterIterator::valid ( void ) : bool

参数:无参数

返回值:如果当前元素有效,则返回true,否则返回false。

示例:

current() > 0); } } $numbers = new ArrayIterator([1, -2, 3, -4, 5]); $filter = new MyFilter($numbers); foreach ($filter as $number) { echo $number . "\n"; } if ($filter->valid()) { echo "当前元素有效\n"; } else { echo "当前元素无效\n"; } ?>

输出: 1 3 5 当前元素无效

解释: 在上面的示例中,我们定义了一个自定义的过滤器类MyFilter,继承自FilterIterator。在accept()方法中,我们通过判断当前元素是否大于0来决定其有效性。然后我们创建了一个ArrayIterator对象$numbers,并将其传递给MyFilter类的实例$filter。在foreach循环中,$filter将会过滤掉所有小于等于0的元素,只输出大于0的元素。最后,我们使用$filter->valid()来检查当前元素是否有效,如果无效则输出"当前元素无效"。由于最后一个元素是-4,所以当前元素无效。

补充纠错
热门PHP函数
分享链接