請注意,對 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)
?>