Bug #74519 [Opn->Csd]: strange behavior of AppendIterator
| From: | krakjoe@php.net | Date: | Thu, 08 Feb 2018 09:19:37 +0000 |
| Subject: | Bug #74519 [Opn->Csd]: strange behavior of AppendIterator | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-213859@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=74519&edit=1
ID: 74519
Updated by: krakjoe@php.net
Reported by: jhdxr@php.net
Summary: strange behavior of AppendIterator
-Status: Open
+Status: Closed
Type: Bug
Package: SPL related
Operating System: irrelevant
PHP Version: 7.0.18
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of jhdxr
Revision: http://git.php.net/?p=php-src.git;a=commit;h=01eafceea12913e710b992fd88e5ab1e23662447
Log: Fixed bug #74519 strange behavior of AppendIterator
Previous Comments:
------------------------------------------------------------------------
[2017-05-01 10:31:30] jhdxr@php.net
Description:
------------
If an ArrayIterator was appended to an AppendIterator, and the inner pointer of ArrayIterator was
changed (foreach, ->next or something else), it would also effect AppendIterator in a strange
way, see the test script (https://3v4l.org/EavLv) below.
I'm not sure if the iterators were appended by reference or value (clone a new copy), but
current result cannot be explained in either way.
Test script:
---------------
<?php
$iterator = new \AppendIterator();
$events = new \ArrayIterator([1,2,3,4,5]);
$iterator->append($events);
$events->next();
while($iterator->valid()) {
echo $iterator->current(), "\n";
$iterator->next();
}
Expected result:
----------------
append reference:
2
3
4
5
or
append clone:
1
2
3
4
5
Actual result:
--------------
1
3
4
5
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74519&edit=1