ID: 49723 Updated by: j...@php.net Reported By: goetas at lignano dot it -Status: Open +Status: Feedback Bug Type: SPL related -Operating System: +Operating System: * PHP Version: 5.3.0 New Comment:
Please try using this snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2009-09-30 13:48:01] goetas at lignano dot it Description: ------------ iterating over an empty seekable iterator causes an unexpected exception. with actual implementation of LimitIterator::rewind() there is no way to do an empty loop over an empty ArrayIterator. i suggest this implementation for LimitIterator::rewind() method function rewind(){ $this->it->rewind(); $this->pos = 0; if($this->it->valid()){ // check for empty iterators $this->seek($this->offset); } } Reproduce code: --------------- $it = new ArrayIterator(array()); $limIt = new LimitIterator($it, 0, 5); foreach ($limIt as $item){ echo $item; } Expected result: ---------------- an empty loop Actual result: -------------- Uncaught exception 'OutOfBoundsException' with message 'Seek position 0 is out of range' ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49723&edit=1