函数名:FilterIterator::key()
适用版本:PHP 5, PHP 7
函数描述:该函数返回当前迭代器指向元素的键名。
用法:
public FilterIterator::key ( void ) : mixed
参数: 该函数没有参数。
返回值: 返回当前迭代器指向元素的键名。如果当前迭代器指向的元素不存在键名,返回null。
示例:
// 创建一个自定义过滤器迭代器类
class MyFilterIterator extends FilterIterator {
public function accept() {
// 只保留键名为奇数的元素
return $this->key() % 2 == 1;
}
}
// 创建一个数组迭代器
$array = new ArrayIterator(array(1, 2, 3, 4, 5));
// 使用自定义过滤器迭代器
$filterIterator = new MyFilterIterator($array);
// 遍历迭代器并输出键名
foreach ($filterIterator as $key => $value) {
echo "键名: " . $key . "\n";
}
输出:
键名: 0
键名: 2
键名: 4
在上面的示例中,我们创建了一个自定义的过滤器迭代器类MyFilterIterator
,它继承自FilterIterator
。在accept()
方法中,我们定义了一个过滤条件,只保留键名为奇数的元素。然后我们创建了一个数组迭代器$array
,并使用MyFilterIterator
来过滤这个迭代器。最后,我们通过遍历迭代器,使用key()
方法获取并输出每个元素的键名。由于过滤器的条件,只有键名为奇数的元素被保留下来,并输出了相应的键名。