牛牛在线工具

AppendIterator::rewind()

收录 8868 个 PHP 函数,含用途说明与用法示例。

AppendIterator::rewind()

将AppendIterator的迭代器指针重置到第一个迭代器的开头

PHP函数名:AppendIterator::rewind() 函数描述:将AppendIterator的迭代器指针重置到第一个迭代器的开头。 用法示例1: $iter1 = new ArrayIterator(['a', 'b', 'c']); $iter2 = new ArrayIterator(['x', 'y', 'z']); $appendIter = new AppendIterator(); $appendIter->append($iter1); $appendIter->append($iter2); $appendIter->rewind(); while ($appendIter->valid()) { echo $appendIter->current() . " "; $appendIter->next(); } // 输出: a b c x y z 解释示例1:上面的代码创建了两个数组迭代器,然后使用AppendIterator将它们合并到一个迭代器中。调用rewind()方法将迭代器指针重置到第一个迭代器的开头,然后使用valid()方法检查迭代器是否还有元素,使用current()方法获取当前元素,使用next()方法将迭代器指针向后移动。最终,使用循环遍历了所有的元素,并将它们输出。 用法示例2: class CustomIterator implements Iterator { private $position = 1; public function rewind() { $this->position = 1; } public function valid() { return $this->position <= 3; } public function current() { return $this->position; } public function key() { return $this->position; } public function next() { ++$this->position; } } $iter1 = new CustomIterator(); $iter2 = new ArrayIterator(['a', 'b', 'c']); $appendIter = new AppendIterator(); $appendIter->append($iter1); $appendIter->append($iter2); $appendIter->rewind(); while ($appendIter->valid()) { echo $appendIter->current() . " "; $appendIter->next(); } // 输出: 1 2 3 a b c 解释示例2:上面的代码创建了一个自定义的迭代器CustomIterator,它实现了Iterator接口的rewind()、valid()、current()、key()和next()方法。然后通过AppendIterator将自定义迭代器和数组迭代器合并,调用rewind()方法将迭代器指针重置到第一个迭代器的开头,再次使用循环遍历了全部元素,并将它们输出。 参考文档:PHP AppendIterator::rewind()