请注意,对 NoRewindIterator 进行计数将导致项目不可用
<?php
$iterator = new ArrayIterator(['recipe'=>'pancakes', 'egg', 'milk', 'flour']);
$iterator = new NoRewindIterator($iterator);
var_dump($iterator->current());
var_dump(iterator_count($iterator));
var_dump($iterator->current());
$iterator->rewind(); // 由于它是 NoRewindIterator,因此无法正常工作
var_dump($iterator->current());
var_dump(iterator_count($iterator));
?>
输出
<?php
/*
string(8) "pancakes"
int(4)
NULL
NULL
*/
int(0)
?>